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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gcpball.c

?? 十七種模擬器源代碼 非常有用的作課程設(shè)計不可缺少的
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************//*                                                                            *//*               GRAND CROSS PINBALL (C) 1994 EXCELLENT SYSTEM                *//*                                                                            *//******************************************************************************/#include "gameinc.h"#include "gcpball.h"#include "taitosnd.h"#include "sasound.h"		// sample support routines#include "m6585.h"#include "savegame.h"#include "debug.h"/*Todo:- M6295 should have a bankswitch- Some gfx I wonder about (the shadow thing when launching a ball)*/static struct DIR_INFO grand_cross_pinball_dirs[] ={   { "grand_cross_pinball", },   { "gcpball", },   { NULL, },};static struct ROM_INFO grand_cross_pinball_roms[] ={   {           "u1", 0x00100000, 0xafa459bb, 0, 0, 0, },   {        "u10.1", 0x00020000, 0x79321550, 0, 0, 0, },   {          "u13", 0x00200000, 0x62f3952f, 0, 0, 0, },   {        "u43.2", 0x00080000, 0xd174bd7f, 0, 0, 0, },   {        "u45.3", 0x00080000, 0x0511ad56, 0, 0, 0, },   {        "u46.4", 0x00080000, 0xe0f3a1b4, 0, 0, 0, },   {          "u55", 0x00080000, 0xb3063351, 0, 0, 0, },   {          "u56", 0x00200000, 0x092b2c0f, 0, 0, 0, },   {           "u6", 0x00100000, 0xc3f024e5, 0, 0, 0, },   {           NULL,          0,          0, 0, 0, 0, },};static struct INPUT_INFO grand_cross_pinball_inputs[] ={   { KB_DEF_COIN1,        MSG_COIN1,               0x016087, 0x01, BIT_ACTIVE_0 },   { KB_DEF_COIN2,        MSG_COIN2,               0x016087, 0x02, BIT_ACTIVE_0 },   { KB_DEF_SERVICE,      MSG_SERVICE,             0x016087, 0x08, BIT_ACTIVE_0 },   { KB_DEF_P1_START,     MSG_P1_START,            0x016085, 0x80, BIT_ACTIVE_0 },   { KB_DEF_P2_START,     MSG_P2_START,            0x016084, 0x80, BIT_ACTIVE_0 },   { KB_DEF_FLIPPER_1_L,  MSG_FLIPPER_1_L,         0x016085, 0x10, BIT_ACTIVE_0 },   { KB_DEF_FLIPPER_1_R,  MSG_FLIPPER_1_R,         0x016084, 0x10, BIT_ACTIVE_0 },   { KB_DEF_FLIPPER_2_L,  MSG_FLIPPER_2_L,         0x016085, 0x20, BIT_ACTIVE_0 },   { KB_DEF_FLIPPER_2_R,  MSG_FLIPPER_2_R,         0x016084, 0x20, BIT_ACTIVE_0 },   { KB_DEF_TILT_L,       MSG_TILT_L,              0x016085, 0x40, BIT_ACTIVE_0 },   { KB_DEF_TILT_R,       MSG_TILT_R,              0x016084, 0x40, BIT_ACTIVE_0 },   { KB_DEF_B1_L,         MSG_B1_L,                0x016085, 0x08, BIT_ACTIVE_0 },   { KB_DEF_B1_R,         MSG_B1_R,                0x016084, 0x08, BIT_ACTIVE_0 },   { 0,                   NULL,                    0,        0,    0            },};static struct DSW_DATA dsw_data_grand_cross_pinball_1[] ={   { MSG_DSWB_BIT1,           0x01, 0x02 },   { MSG_OFF,                 0x01, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT2,           0x02, 0x02 },   { MSG_OFF,                 0x02, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT3,           0x04, 0x02 },   { MSG_OFF,                 0x04, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT4,           0x08, 0x02 },   { MSG_OFF,                 0x08, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT5,           0x10, 0x02 },   { MSG_OFF,                 0x10, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT6,           0x20, 0x02 },   { MSG_OFF,                 0x20, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT7,           0x40, 0x02 },   { MSG_OFF,                 0x40, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWB_BIT8,           0x80, 0x02 },   { MSG_OFF,                 0x80, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { NULL,                    0,    0,   },};static struct DSW_INFO grand_cross_pinball_dsw[] ={   { 0x016080, 0xFF, dsw_data_default_0 },   { 0x016081, 0xFF, dsw_data_grand_cross_pinball_1 },   { 0,        0,    NULL,      },};static struct VIDEO_INFO grand_cross_pinball_video ={   draw_grand_cross_pinball,   320,   224,   32,   VIDEO_ROTATE_270 |   VIDEO_ROTATABLE,};static struct OKIM6295interface m6295_interface ={	1,                  /* 1 chip */	{ 8000 },			/* 8000 KHz? */	{ 0 },  /* memory region (not yet !) */	{ 250 }				/* volume */};static struct M6585_ROM m6585_romlist_chip_a[] ={   { NULL, 0x100000, },		// Bank 0   { NULL, 0x100000, },		// Bank 1   { NULL,        0, },		// Terminator};static struct M6585_interface m6585_interface ={   1,					// 1 chip   { 8000 },				// rate   { m6585_romlist_chip_a },		// rom list};static struct SOUND_INFO grand_cross_pinball_sound[] ={   { SOUND_M6295,   &m6295_interface,     },   { SOUND_M6585,   &m6585_interface,     },   { 0,             NULL,                 },};struct GAME_MAIN game_grand_cross_pinball ={   grand_cross_pinball_dirs,   grand_cross_pinball_roms,   grand_cross_pinball_inputs,   grand_cross_pinball_dsw,   NULL,   load_grand_cross_pinball,   clear_grand_cross_pinball,   &grand_cross_pinball_video,   execute_grand_cross_pinball_frame,   "gcpball",   "Grand Cross Pinball",   "僌儔儞僪僋儘僗僺儞儃乕儖",   COMPANY_ID_EX_SYSTEM,   NULL,   1994,   grand_cross_pinball_sound,   GAME_MISC,};static UINT8 *GFX_BG0;static UINT8 *GFX_BG0_SOLID;static UINT8 *GFX_FG0;static UINT8 *GFX_FG0_SOLID;static UINT8 *GFX_SPR;static UINT8 *GFX_SPR_SOLID;/******************************************************************************//*  I/O CONTROLLER                                                            *//******************************************************************************/static void grand_cross_pinball_ioc_wb(UINT32 offset, UINT8 data){   offset &= 0x00FF;   switch(offset){      case 0x10:      case 0x11:      case 0x12:      case 0x13:      case 0x14:      case 0x15:      case 0x16:      case 0x17:      case 0x18:      case 0x19:      case 0x1A:      case 0x1B:      case 0x1C:      case 0x1D:      case 0x1E:      case 0x1F:      case 0x20:      case 0x21:         RAM[0x16000+(offset^1)] = data;	// Scroll      break;      case 0x60:      case 0x61:      case 0x62:      case 0x63:      case 0x64:      case 0x65:      case 0x66:      case 0x67:      case 0x68:      case 0x69:      case 0x76:      case 0x77:         RAM[0x16000+(offset^1)] = data;	// ?      break;      case 0x88:         RAM[0x16000+(offset^1)] = data;         switch_led(2, (data>>0)&1 );		// Coin A [Ready for coins]         //switch_led(3, (data>>1)&1 );		// Coin B [Ready for coins]         M6585buffer_bank_write(0, (data>>4)&1 );      break;      case 0xA0:      case 0xA1:      case 0xA2:      case 0xA3:	OKIM6295_data_0_w(0,data&0xFF); // M6295buffer_request      break;      case 0xC0:      case 0xC1:      case 0xC2:      case 0xC3:      case 0xC4:      case 0xC5:      case 0xC6:      case 0xC7:      case 0xC8:      case 0xC9:      case 0xCA:      case 0xCB:      case 0xCC:      case 0xCD:         M6585buffer_request(0, (offset>>1)&7, data&0xFF);      break;      default:#ifdef RAINE_DEBUG         print_debug("IOC: %02x %02x\n",offset,data);#endif      break;   }}static void grand_cross_pinball_ioc_ww(UINT32 offset, UINT16 data){   grand_cross_pinball_ioc_wb(offset+0, (UINT8) ((data>>8)&0xFF) );   grand_cross_pinball_ioc_wb(offset+1, (UINT8) ((data>>0)&0xFF) );}static UINT8 grand_cross_pinball_ioc_rb(UINT32 offset){   offset &= 0x00FF;   switch(offset){      case 0xA0:      case 0xA1:      case 0xA2:      case 0xA3:         return OKIM6295_status_0_r(0);                  ;         //return 0;      break;      default:         return RAM[0x16000+(offset^1)];      break;   }}static UINT16 grand_cross_pinball_ioc_rw(UINT32 offset){   UINT16 ret;   ret  = grand_cross_pinball_ioc_rb(offset+0)<<8;   ret |= grand_cross_pinball_ioc_rb(offset+1)<<0;   return ret;}#define RAMSize 0x16200void load_grand_cross_pinball(void){   int ta,tb,tc;   if(!(ROM=AllocateMem(0x200000))) return;   if(!(RAM=AllocateMem(RAMSize))) return;   if(!(GFX=AllocateMem(0x840000))) return;   GFX_BG0 = GFX+0x000000;   if(!load_rom("u1", ROM+0x000000, 0x100000)) return;		// GFX BG0   if(!load_rom("u6", ROM+0x100000, 0x100000)) return;		// GFX BG0   for(ta=0;ta<0x200000;ta+=2){      GFX_BG0[ta+ta+0]=ROM[ta+1]>>4;      GFX_BG0[ta+ta+1]=ROM[ta+1]&15;      GFX_BG0[ta+ta+2]=ROM[ta+0]>>4;      GFX_BG0[ta+ta+3]=ROM[ta+0]&15;   }   GFX_BG0_SOLID = make_solid_mask_16x16(GFX_BG0, 0x4000);   GFX_FG0 = GFX+0x800000;   if(!load_rom("u10.1", ROM+0x00000, 0x20000)) return;		// GFX FG0   for(ta=0;ta<0x20000;ta+=2){      GFX_FG0[ta+ta+0]=ROM[ta+1]>>4;      GFX_FG0[ta+ta+1]=ROM[ta+1]&15;      GFX_FG0[ta+ta+2]=ROM[ta+0]>>4;      GFX_FG0[ta+ta+3]=ROM[ta+0]&15;   }   GFX_FG0_SOLID = make_solid_mask_8x8(GFX_FG0, 0x1000);   GFX_SPR = GFX+0x400000;   if(!load_rom("u13", ROM+0x000000, 0x200000)) return;		// GFX SPR   tb=0;   for(ta=0;ta<0x200000;ta+=8){      tc=ReadWord(&ROM[ta+0]);      GFX_SPR[tb+0] =((tc&0x8000)>>15)<<0;      GFX_SPR[tb+1] =((tc&0x4000)>>14)<<0;      GFX_SPR[tb+2] =((tc&0x2000)>>13)<<0;      GFX_SPR[tb+3] =((tc&0x1000)>>12)<<0;      GFX_SPR[tb+4] =((tc&0x0800)>>11)<<0;      GFX_SPR[tb+5] =((tc&0x0400)>>10)<<0;      GFX_SPR[tb+6] =((tc&0x0200)>> 9)<<0;      GFX_SPR[tb+7] =((tc&0x0100)>> 8)<<0;      GFX_SPR[tb+8] =((tc&0x0080)>> 7)<<0;      GFX_SPR[tb+9] =((tc&0x0040)>> 6)<<0;      GFX_SPR[tb+10]=((tc&0x0020)>> 5)<<0;      GFX_SPR[tb+11]=((tc&0x0010)>> 4)<<0;      GFX_SPR[tb+12]=((tc&0x0008)>> 3)<<0;      GFX_SPR[tb+13]=((tc&0x0004)>> 2)<<0;      GFX_SPR[tb+14]=((tc&0x0002)>> 1)<<0;      GFX_SPR[tb+15]=((tc&0x0001)>> 0)<<0;      tc=ReadWord(&ROM[ta+4]);      GFX_SPR[tb+0] |=((tc&0x8000)>>15)<<1;      GFX_SPR[tb+1] |=((tc&0x4000)>>14)<<1;      GFX_SPR[tb+2] |=((tc&0x2000)>>13)<<1;      GFX_SPR[tb+3] |=((tc&0x1000)>>12)<<1;      GFX_SPR[tb+4] |=((tc&0x0800)>>11)<<1;      GFX_SPR[tb+5] |=((tc&0x0400)>>10)<<1;      GFX_SPR[tb+6] |=((tc&0x0200)>> 9)<<1;      GFX_SPR[tb+7] |=((tc&0x0100)>> 8)<<1;      GFX_SPR[tb+8] |=((tc&0x0080)>> 7)<<1;      GFX_SPR[tb+9] |=((tc&0x0040)>> 6)<<1;      GFX_SPR[tb+10]|=((tc&0x0020)>> 5)<<1;      GFX_SPR[tb+11]|=((tc&0x0010)>> 4)<<1;      GFX_SPR[tb+12]|=((tc&0x0008)>> 3)<<1;      GFX_SPR[tb+13]|=((tc&0x0004)>> 2)<<1;      GFX_SPR[tb+14]|=((tc&0x0002)>> 1)<<1;      GFX_SPR[tb+15]|=((tc&0x0001)>> 0)<<1;      tc=ReadWord(&ROM[ta+2]);      GFX_SPR[tb+0] |=((tc&0x8000)>>15)<<2;      GFX_SPR[tb+1] |=((tc&0x4000)>>14)<<2;      GFX_SPR[tb+2] |=((tc&0x2000)>>13)<<2;      GFX_SPR[tb+3] |=((tc&0x1000)>>12)<<2;      GFX_SPR[tb+4] |=((tc&0x0800)>>11)<<2;      GFX_SPR[tb+5] |=((tc&0x0400)>>10)<<2;      GFX_SPR[tb+6] |=((tc&0x0200)>> 9)<<2;      GFX_SPR[tb+7] |=((tc&0x0100)>> 8)<<2;      GFX_SPR[tb+8] |=((tc&0x0080)>> 7)<<2;      GFX_SPR[tb+9] |=((tc&0x0040)>> 6)<<2;      GFX_SPR[tb+10]|=((tc&0x0020)>> 5)<<2;      GFX_SPR[tb+11]|=((tc&0x0010)>> 4)<<2;      GFX_SPR[tb+12]|=((tc&0x0008)>> 3)<<2;      GFX_SPR[tb+13]|=((tc&0x0004)>> 2)<<2;      GFX_SPR[tb+14]|=((tc&0x0002)>> 1)<<2;      GFX_SPR[tb+15]|=((tc&0x0001)>> 0)<<2;      tc=ReadWord(&ROM[ta+6]);      GFX_SPR[tb+0] |=((tc&0x8000)>>15)<<3;      GFX_SPR[tb+1] |=((tc&0x4000)>>14)<<3;      GFX_SPR[tb+2] |=((tc&0x2000)>>13)<<3;      GFX_SPR[tb+3] |=((tc&0x1000)>>12)<<3;      GFX_SPR[tb+4] |=((tc&0x0800)>>11)<<3;      GFX_SPR[tb+5] |=((tc&0x0400)>>10)<<3;      GFX_SPR[tb+6] |=((tc&0x0200)>> 9)<<3;      GFX_SPR[tb+7] |=((tc&0x0100)>> 8)<<3;      GFX_SPR[tb+8] |=((tc&0x0080)>> 7)<<3;      GFX_SPR[tb+9] |=((tc&0x0040)>> 6)<<3;      GFX_SPR[tb+10]|=((tc&0x0020)>> 5)<<3;      GFX_SPR[tb+11]|=((tc&0x0010)>> 4)<<3;      GFX_SPR[tb+12]|=((tc&0x0008)>> 3)<<3;      GFX_SPR[tb+13]|=((tc&0x0004)>> 2)<<3;      GFX_SPR[tb+14]|=((tc&0x0002)>> 1)<<3;      GFX_SPR[tb+15]|=((tc&0x0001)>> 0)<<3;      tb+=16;   }   GFX_SPR_SOLID = make_solid_mask_16x16(GFX_SPR, 0x4000);   if(!(PCMROM=AllocateMem(0x280000))) return;   if(!load_rom("u55", PCMROM+0x000000, 0x080000)) return;		// M6295

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美最新大片在线看 | 91网站在线播放| 国产精品视频在线看| k8久久久一区二区三区| 亚洲色图在线看| 欧美日韩综合一区| 蜜桃久久久久久| 久久精品一区二区三区av| 成人av资源下载| 亚洲一区二区三区在线看| 欧美一区二区在线不卡| 国内外成人在线视频| 国产精品免费久久| 在线观看av不卡| 麻豆久久久久久| 国产精品看片你懂得| 欧美在线不卡视频| 老司机精品视频在线| 亚洲国产成人私人影院tom| 欧美亚洲免费在线一区| 蜜桃久久久久久| 亚洲欧美一区二区视频| 欧美另类一区二区三区| 极品尤物av久久免费看| 国产精品二三区| 在线播放国产精品二区一二区四区 | 国产精品国产馆在线真实露脸| 欧美在线一二三| 精品一区二区免费在线观看| 国产精品国产三级国产aⅴ中文| 欧美精品久久久久久久久老牛影院| 国产在线精品国自产拍免费| 中文字幕在线观看一区| 91精品国产色综合久久不卡电影| 国产成人高清在线| 亚洲国产日韩精品| 久久精品一区二区三区不卡| 欧洲一区在线观看| 国产一区二区三区免费在线观看| 亚洲精品久久久蜜桃| 久久亚洲精精品中文字幕早川悠里 | 国产精品三级久久久久三级| 欧美久久一二三四区| 成人av资源在线观看| 久热成人在线视频| 一区二区视频在线看| 2024国产精品| 欧美在线一区二区三区| 国产91丝袜在线播放0| 午夜激情一区二区| 国产精品久线观看视频| 日韩三级在线观看| 色婷婷综合五月| 国产精品1区2区3区| 亚洲成av人片在线观看无码| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产成人av自拍| 午夜精品123| 亚洲欧美国产77777| 久久久久久久久蜜桃| 欧美精品自拍偷拍动漫精品| www.亚洲激情.com| 国产一区激情在线| 日韩国产欧美在线播放| 亚洲女与黑人做爰| 国产日韩欧美a| 日韩免费在线观看| 欧美男生操女生| 色94色欧美sute亚洲线路二| 国产福利精品一区| 另类成人小视频在线| 水野朝阳av一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 国产视频一区二区三区在线观看| 日韩视频永久免费| 欧美裸体bbwbbwbbw| 色综合咪咪久久| 成人动漫一区二区三区| 国产一区二区免费视频| 秋霞国产午夜精品免费视频| 亚洲一区二区三区四区中文字幕| 亚洲品质自拍视频网站| 国产精品欧美一区喷水| 国产三级欧美三级| 精品久久久久久亚洲综合网 | 一区二区三区视频在线观看 | 国产亚洲1区2区3区| 日韩女优av电影| 日韩午夜av一区| 91精品国产黑色紧身裤美女| 欧美天堂一区二区三区| 91视频www| 丁香亚洲综合激情啪啪综合| 国产精品自拍在线| 国产资源在线一区| 狠狠v欧美v日韩v亚洲ⅴ| 欧美aaa在线| 免费久久精品视频| 日韩高清不卡一区二区| 日韩中文字幕区一区有砖一区| 亚洲午夜国产一区99re久久| 亚洲一区在线电影| 亚洲伊人色欲综合网| 亚洲成人一区二区| 亚洲成在人线在线播放| 午夜精品免费在线观看| 天堂在线亚洲视频| 日韩精品免费视频人成| 日本视频免费一区| 日本不卡的三区四区五区| 日韩高清不卡在线| 久久国产生活片100| 精品一区二区日韩| 精品免费99久久| 精品国产乱码久久久久久1区2区 | 欧美巨大另类极品videosbest | 91麻豆精品国产91久久久使用方法| 欧美日韩www| 91精品麻豆日日躁夜夜躁| 日韩午夜激情电影| 久久综合视频网| 国产日韩欧美亚洲| 一区精品在线播放| 一区二区三区精品视频在线| 亚洲午夜精品在线| 蜜臀精品一区二区三区在线观看 | 麻豆成人免费电影| 国模少妇一区二区三区| 国产成人在线免费观看| 成人精品国产免费网站| 91免费版在线看| 欧美日韩亚洲国产综合| 欧美一级二级三级蜜桃| 精品999在线播放| 中文字幕 久热精品 视频在线 | 久久综合久久99| 亚洲国产精品99久久久久久久久| 亚洲女子a中天字幕| 天天操天天干天天综合网| 麻豆成人久久精品二区三区红| 激情另类小说区图片区视频区| 国产成人在线视频播放| 色乱码一区二区三区88| 在线播放中文一区| 国产视频一区二区在线观看| 亚洲精品视频一区| 日本免费在线视频不卡一不卡二| 国产中文一区二区三区| www..com久久爱| 欧美精品丝袜中出| 久久久蜜臀国产一区二区| 自拍偷拍亚洲欧美日韩| 丝袜美腿亚洲一区二区图片| 国产成人自拍高清视频在线免费播放| av色综合久久天堂av综合| 欧美日韩亚洲综合在线 | 一区二区高清在线| 青草av.久久免费一区| 国产高清视频一区| 欧美视频一区二区在线观看| 欧美成人一区二区三区在线观看 | 国产精品高潮久久久久无| 亚洲成人激情av| 国产酒店精品激情| 欧美午夜精品理论片a级按摩| 欧美成人a在线| 亚洲免费在线视频| 麻豆免费看一区二区三区| 91日韩在线专区| 欧美成人一级视频| 一区二区三区欧美视频| 国内成人精品2018免费看| 日本乱人伦aⅴ精品| 精品粉嫩超白一线天av| 亚洲精品一二三| 黑人巨大精品欧美一区| 欧美色综合久久| 欧美国产激情一区二区三区蜜月| 亚洲成人免费影院| 成+人+亚洲+综合天堂| 日韩一区二区三区视频在线 | 成人午夜视频网站| 这里是久久伊人| 日韩毛片视频在线看| 精品一区二区免费看| 久久久亚洲精品石原莉奈| 午夜av电影一区| 99久久久免费精品国产一区二区| 91精品国产入口| 亚洲精品免费在线| 国产盗摄女厕一区二区三区| 欧美高清hd18日本| 亚洲综合av网| 成人激情综合网站| 精品精品国产高清a毛片牛牛| 亚洲影视在线观看| 99久久免费视频.com| 国产亚洲精品超碰| 精品一区二区三区在线观看国产 | 蜜臂av日日欢夜夜爽一区|