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

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

?? heavyunt.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************//*                                                                            *//*                HEAVY UNIT (C) 1988 KANEKO (TAITO LICENSE)                  *//*                                                                            *//******************************************************************************/#include "gameinc.h"#include "heavyunt.h"#include "tc220ioc.h"#include "taitosnd.h"#include "2203intf.h"#include "decode.h"#include "sasound.h"		// sample support routines#ifdef RAINE_DEBUG#include "debug.h"#endif#include "savegame.h"/*b73-12.bin - sound cpu----------------------nmi is triggered when sound command is written?int is triggered by ym2203 timers or 60fps?memory:0000-7FFF = base rom8000-BFFF = bank romport:00-00 = bank switch02-03 = ym220304-04 = sound command?*/static struct DIR_INFO heavy_unit_dirs[] ={   { "heavy_unit", },   { "heavyunt", },   { NULL, },};static struct ROM_INFO heavy_unit_roms[] ={   {       "b73.01", 0x00010000, 0x3a8a4489, 0, 0, 0, },   {       "b73.02", 0x00010000, 0x025c536c, 0, 0, 0, },   {       "b73.03", 0x00010000, 0xec6020cf, 0, 0, 0, },   {       "b73.04", 0x00010000, 0xf7badbb2, 0, 0, 0, },   {       "b73.05", 0x00010000, 0xb8e829d2, 0, 0, 0, },   {       "b73.06", 0x00010000, 0xa98e4aea, 0, 0, 0, },   {       "b73.07", 0x00010000, 0x5cffa42c, 0, 0, 0, },   {       "b73.08", 0x00080000, 0xf83dd808, 0, 0, 0, },   {       "b73.09", 0x00080000, 0x537c647f, 0, 0, 0, },   {       "b73.12", 0x00010000, 0xd1d24fab, 0, 0, 0, },   {       "b73.13", 0x00020000, 0xe2874601, 0, 0, 0, },   {       "b73.14", 0x00010000, 0x0dfb51d4, 0, 0, 0, },   {           NULL,          0,          0, 0, 0, 0, },};#if 0static struct INPUT_INFO heavy_unit_inputs[] ={   { KB_DEF_COIN1,        MSG_COIN1,               0x020002, 0x10, BIT_ACTIVE_1 },   { KB_DEF_COIN2,        MSG_COIN2,               0x020002, 0x20, BIT_ACTIVE_1 },   { KB_DEF_TILT,         MSG_TILT,                0x020002, 0x02, BIT_ACTIVE_0 },   { KB_DEF_SERVICE,      MSG_SERVICE,             0x020002, 0x01, BIT_ACTIVE_0 },   { KB_DEF_P1_START,     MSG_P1_START,            0x020002, 0x04, BIT_ACTIVE_0 },   { KB_DEF_P1_UP,        MSG_P1_UP,               0x020000, 0x01, BIT_ACTIVE_0 },   { KB_DEF_P1_DOWN,      MSG_P1_DOWN,             0x020000, 0x02, BIT_ACTIVE_0 },   { KB_DEF_P1_LEFT,      MSG_P1_LEFT,             0x020000, 0x08, BIT_ACTIVE_0 },   { KB_DEF_P1_RIGHT,     MSG_P1_RIGHT,            0x020000, 0x04, BIT_ACTIVE_0 },   { KB_DEF_P1_B1,        MSG_P1_B1,               0x020000, 0x10, BIT_ACTIVE_0 },   { KB_DEF_P1_B2,        MSG_P1_B2,               0x020000, 0x20, BIT_ACTIVE_0 },   { KB_DEF_P2_START,     MSG_P2_START,            0x020002, 0x08, BIT_ACTIVE_0 },   { KB_DEF_P2_UP,        MSG_P2_UP,               0x020001, 0x01, BIT_ACTIVE_0 },   { KB_DEF_P2_DOWN,      MSG_P2_DOWN,             0x020001, 0x02, BIT_ACTIVE_0 },   { KB_DEF_P2_LEFT,      MSG_P2_LEFT,             0x020001, 0x08, BIT_ACTIVE_0 },   { KB_DEF_P2_RIGHT,     MSG_P2_RIGHT,            0x020001, 0x04, BIT_ACTIVE_0 },   { KB_DEF_P2_B1,        MSG_P2_B1,               0x020001, 0x10, BIT_ACTIVE_0 },   { KB_DEF_P2_B2,        MSG_P2_B2,               0x020001, 0x20, BIT_ACTIVE_0 },   { 0,                   NULL,                    0,        0,    0            },};static struct DSW_DATA dsw_data_heavy_unit_0[] ={   { MSG_DSWA_BIT1,           0x01, 0x02 },   { MSG_OFF,                 0x01, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DSWA_BIT2,           0x02, 0x02 },   { MSG_OFF,                 0x02, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_TEST_MODE,           0x04, 0x02 },   { MSG_OFF,                 0x04, 0x00 },   { MSG_ON,                  0x00, 0x00 },   { MSG_DEMO_SOUND,          0x08, 0x02 },   { MSG_ON,                  0x08, 0x00 },   { MSG_OFF,                 0x00, 0x00 },   { MSG_COIN1,               0x30, 0x04 },   { MSG_1COIN_1PLAY,         0x30, 0x00 },   { MSG_1COIN_2PLAY,         0x20, 0x00 },   { MSG_2COIN_1PLAY,         0x10, 0x00 },   { MSG_3COIN_1PLAY,         0x00, 0x00 },   { MSG_COIN2,               0xC0, 0x04 },   { MSG_1COIN_1PLAY,         0xC0, 0x00 },   { MSG_1COIN_2PLAY,         0x80, 0x00 },   { MSG_2COIN_1PLAY,         0x40, 0x00 },   { MSG_3COIN_1PLAY,         0x00, 0x00 },   { NULL,                    0,    0,   },};static struct DSW_INFO heavy_unit_dsw[] ={   { 0x020004, 0xFF, dsw_data_heavy_unit_0 },   { 0x020005, 0xFF, dsw_data_default_1 },   { 0,        0,    NULL,      },};#endifstatic struct VIDEO_INFO heavy_unit_video ={   draw_heavy_unit,   256,   224,   32,   VIDEO_ROTATE_NORMAL,};#if 0static struct ROMSW_DATA romsw_data_heavy_unit_0[] ={   { "Taito Japan (notice)",     0x01 },   { "Taito America",            0x02 },   { "Taito Japan",              0x03 },   { "Tad Corporation",          0x04 },   { NULL,                       0    },};#endifstatic struct YM2203interface ym2203_interface ={  1,			// 1 chip  4000000,		// rate  { 0x00ff20c0 },	// volume  { 0 },  { 0 },  { 0 },  { 0 },  { NULL }};static struct SOUND_INFO heavy_unit_sound[] ={   { SOUND_YM2203,  &ym2203_interface,  },   { 0,             NULL,               },};#if 0static struct ROMSW_INFO heavy_unit_romsw[] ={   { 0x007FFF, 0x01, romsw_data_heavy_unit_0 },   { 0,        0,    NULL },};#endifstruct GAME_MAIN game_heavy_unit ={   heavy_unit_dirs,   heavy_unit_roms,   NULL, //heavy_unit_inputs,   NULL, //heavy_unit_dsw,   NULL, //heavy_unit_romsw,   load_heavy_unit,   clear_heavy_unit,   &heavy_unit_video,   execute_heavy_unit_frame,   "heavyunt",   "Heavy Unit",   NULL,   COMPANY_ID_KANEKO,   "B73",   1988,   heavy_unit_sound,   GAME_NOT_WORKING,};#if 0static UINT8 *GFX_BG0;static UINT8 *GFX_BG0_SOLID;static UINT8 *GFX_BG1;static UINT8 *GFX_BG1_SOLID;#endifstatic UINT8 *RAM2;static UINT8 *RAM3;static UINT8 *ROM2;static UINT8 *ROM3;static UINT8 *RAM_INPUT;static UINT8 *RAM_COLOUR;/******************************************************************************//* MAIN Z80 ROM BANKING                                                       *//******************************************************************************/static UINT8 z80_bank;static UINT8 *ROM_BANK[0x08];void heavy_unit_bank_w(UINT16 offset, UINT8 data){   offset &= 15;   if(offset==0){   if((data&0x07) != z80_bank){      z80_bank = data & 0x07;      Z80BSetBank( ROM_BANK[z80_bank] );      /*#ifdef RAINE_DEBUG      print_debug("MAIN Bank: %02x [%04x]\n", data, z80pc);      #endif*/   }   }}static void init_bank_rom(UINT8 *src, UINT8 *dst){   int ta;   for(ta=0; ta<0x08; ta++){      ROM_BANK[ta] = dst+(ta*0xC000);      memcpy(ROM_BANK[ta]+0x0000,src+0x0000,0x8000);      memcpy(ROM_BANK[ta]+0x8000,src+(ta*0x4000),0x4000);   }}/******************************************************************************//* SUB Z80 ROM BANKING                                                        *//******************************************************************************/static UINT8 z80_bank_1;static UINT8 *ROM_BANK_1[8];void heavy_unit_sub_bank_w(UINT16 offset, UINT8 data){   offset &= 15;   switch(offset){   case 0x00:   if((data&0x07) != z80_bank_1){      z80_bank_1 = data & 0x07;      Z80CSetBank( ROM_BANK_1[z80_bank_1] );      /*#ifdef RAINE_DEBUG      print_debug("SUB Bank: %02x [%04x]\n", data, z80pc);      #endif*/   }   break;   case 0x02:      switch_led(0,(data>>2)&1);		// Coin A [Coin Inserted]      switch_led(1,(data>>3)&1);		// Coin B [Coin Inserted]      switch_led(2,(data>>0)&1);		// Coin A [Ready for coins]    //switch_led(3,(data>>1)&1);		// Coin B [Ready for coins]   break;   }}static void init_bank_rom_1(UINT8 *src, UINT8 *dst){   int ta;   for(ta=0; ta<0x04; ta++){      ROM_BANK_1[ta] = dst+(ta*0xC000);      memcpy(ROM_BANK_1[ta]+0x0000,src+0x0000,0x8000);      memcpy(ROM_BANK_1[ta]+0x8000,src+(ta*0x4000),0x4000);   }}/******************************************************************************//* SUB Z80 ROM BANKING                                                        *//******************************************************************************/static UINT8 z80_bank_2;static UINT8 *ROM_BANK_2[4];void heavy_unit_sub2_bank_w(UINT16 offset, UINT8 data){   offset &= 15;   switch(offset){   case 0x00:   if((data&0x07) != z80_bank_1){      z80_bank_1 = data & 0x07;      Z80CSetBank( ROM_BANK_1[z80_bank_1] );      /*#ifdef RAINE_DEBUG      print_debug("SUB Bank: %02x [%04x]\n", data, z80pc);      #endif*/   }   break;   case 0x02:      switch_led(0,(data>>2)&1);		// Coin A [Coin Inserted]      switch_led(1,(data>>3)&1);		// Coin B [Coin Inserted]      switch_led(2,(data>>0)&1);		// Coin A [Ready for coins]    //switch_led(3,(data>>1)&1);		// Coin B [Ready for coins]   break;   }}static void init_bank_rom_2(UINT8 *src, UINT8 *dst){   int ta;   for(ta=0; ta<0x04; ta++){      ROM_BANK_2[ta] = dst+(ta*0xC000);      memcpy(ROM_BANK_2[ta]+0x0000,src+0x0000,0x8000);      memcpy(ROM_BANK_2[ta]+0x8000,src+(ta*0x4000),0x4000);   }}/******************************************************************************//* INPUT + DSW                                                                *//******************************************************************************/static UINT32 port_unk;static UINT32 sound_command;static UINT32 sound_nmi;static UINT8 heavy_unit_main_port_rb(UINT16 offset){   UINT8 ret;   offset &= 0xFF;   switch(offset){      default:#ifdef RAINE_DEBUG         print_debug("main_port_rb(%02x) [%04x]\n",offset, z80pc);#endif         ret = 0xFF;      break;   }   return ret;}static void heavy_unit_main_port_wb(UINT16 offset, UINT8 data){   offset &= 0xFF;   switch(offset){      case 0x01:         if((data & 7) != z80_bank){            z80_bank = data & 7;            Z80BSetBank( ROM_BANK[z80_bank] );         }      break;      default:         #ifdef RAINE_DEBUG         print_debug("main_port_wb(%02x,%02x) [%04x]\n", offset, data, z80pc);         #endif      break;   }}static UINT8 heavy_unit_sub_port_rb(UINT16 offset){   UINT8 ret;   offset &= 0xFF;   switch(offset){      case 0x0C:         port_unk ++;         ret = port_unk;      break;      default:         #ifdef RAINE_DEBUG         print_debug("sub_port_rb(%02x) [%04x]\n",offset, z80pc);         #endif         ret = 0xFF;      break;   }   return ret;}static void heavy_unit_sub_port_wb(UINT16 offset, UINT8 data){   offset &= 0xFF;   switch(offset){      case 0x00:         if((data & 3) != z80_bank_1){            z80_bank_1 = data & 3;            Z80CSetBank( ROM_BANK_1[z80_bank_1] );         }      break;      case 0x02:         sound_command = data;         sound_nmi = 1;      break;      default:         #ifdef RAINE_DEBUG         print_debug("sub_port_wb(%02x,%02x) [%04x]\n", offset, data, z80pc);         #endif      break;   }}static UINT8 heavy_unit_sound_port_rb(UINT16 offset){   UINT8 ret;   offset &= 0xFF;   switch(offset){      case 0x02:      case 0x03:         ret = YM2203AReadZ80(offset & 1);      break;      case 0x04:         ret = sound_command;      break;      default:         #ifdef RAINE_DEBUG         print_debug("sound_port_rb(%02x) [%04x]\n", offset, z80pc);         #endif         ret = 0xFF;      break;   }   return ret;}static void heavy_unit_sound_port_wb(UINT16 offset, UINT8 data){   offset &= 0xFF;   switch(offset){      case 0x00:         if((data & 3) != z80_bank_2){            z80_bank_2 = data & 3;            Z80DSetBank( ROM_BANK_2[z80_bank_2] );         }      break;      case 0x02:      case 0x03:         YM2203AWriteZ80(offset & 1, data);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天欧美精品| 97久久超碰国产精品电影| 国产成人精品亚洲777人妖| 99久久国产综合精品色伊| 日韩丝袜情趣美女图片| 亚洲日本va午夜在线电影| 国产原创一区二区三区| 欧美精品一级二级三级| 1024精品合集| 国产一区二区三区最好精华液| 在线观看一区二区视频| 中文av一区二区| 老司机精品视频导航| 欧美日韩一区二区在线观看视频| 亚洲欧美综合色| 国产成人h网站| 精品国产网站在线观看| 奇米影视在线99精品| 欧美日韩一二三| 亚洲一区二区不卡免费| 色偷偷久久人人79超碰人人澡| xvideos.蜜桃一区二区| 久久国产婷婷国产香蕉| 7777精品久久久大香线蕉| 亚洲综合视频在线| 91老司机福利 在线| 中文字幕亚洲不卡| 豆国产96在线|亚洲| 久久久99免费| 国产夫妻精品视频| 久久久久国产免费免费| 国内精品写真在线观看| 精品1区2区在线观看| 美女视频免费一区| 欧美r级在线观看| 久久91精品国产91久久小草| 日韩一级片在线观看| 日日欢夜夜爽一区| 91麻豆精品国产自产在线| 五月天中文字幕一区二区| 欧美日韩在线免费视频| 亚洲一级二级在线| 在线播放日韩导航| 毛片基地黄久久久久久天堂| 日韩一区二区三区观看| 国产在线国偷精品免费看| 久久久久国色av免费看影院| 成人在线综合网| 国产精品久久久久久久久果冻传媒| 波多野结衣一区二区三区| 亚洲天天做日日做天天谢日日欢 | 久久女同性恋中文字幕| 国产精一品亚洲二区在线视频| 欧美tickle裸体挠脚心vk| 国产传媒久久文化传媒| 亚洲激情男女视频| 欧美三级视频在线观看| 免费av成人在线| 久久精品男人天堂av| 一本一本大道香蕉久在线精品| 午夜精品久久久久久久久久| 欧美变态tickling挠脚心| 国产成人亚洲精品青草天美| 亚洲男人的天堂一区二区| 91超碰这里只有精品国产| 国产美女视频一区| 亚洲精品一二三区| 日韩一区二区麻豆国产| 成人国产视频在线观看 | 亚洲国产高清aⅴ视频| 色综合天天狠狠| 免费成人美女在线观看.| 国产精品欧美经典| 欧美高清视频在线高清观看mv色露露十八 | 国产婷婷色一区二区三区| 亚洲色图都市小说| 久久成人久久鬼色| 亚洲人成网站在线| 欧美电影免费观看高清完整版在线 | 国产精品乱人伦| 欧美日韩一级二级三级| 国产精品一区二区x88av| 亚洲精品国产精品乱码不99| 欧美一二三四在线| 91免费国产在线观看| 久久99久久久久久久久久久| 亚洲三级视频在线观看| 精品理论电影在线观看| 欧洲在线/亚洲| 99久久精品情趣| 国产一区二区视频在线播放| 天堂蜜桃91精品| 综合久久久久久久| 久久在线观看免费| 91精品一区二区三区在线观看| av动漫一区二区| 国产精品1区2区3区| 美女视频第一区二区三区免费观看网站| 亚洲欧洲三级电影| 欧美精品一区二区三区很污很色的| 欧美午夜不卡视频| av中文字幕亚洲| 国产成人精品亚洲777人妖| 久久精品国产精品亚洲红杏| 午夜久久电影网| 亚洲电影一区二区| 亚洲精品国产无套在线观| 一区精品在线播放| 国产精品美女一区二区三区| 亚洲电影视频在线| 国产午夜精品美女毛片视频| 日韩免费在线观看| 欧美一区二区视频在线观看2022 | 亚洲成人av一区二区三区| 最新国产成人在线观看| 国产肉丝袜一区二区| 久久网站最新地址| 欧美电影免费观看高清完整版| 欧美高清视频一二三区| 欧美一区二区在线视频| 91精品综合久久久久久| 777色狠狠一区二区三区| 欧美日韩在线电影| 欧美日韩电影在线播放| 欧美高清hd18日本| 欧美二区乱c少妇| 欧美一二三区精品| 日韩视频不卡中文| 久久久久久久久久看片| 亚洲国产成人午夜在线一区| 国产欧美视频在线观看| 国产精品久久久久一区| 亚洲男同性恋视频| 亚洲福中文字幕伊人影院| 日本成人在线电影网| 久久激情五月婷婷| 成人午夜视频在线观看| 日本高清免费不卡视频| 欧美日韩国产高清一区二区三区| 在线不卡a资源高清| 久久精品这里都是精品| 国产精品久久久久7777按摩| 亚洲一区二区精品久久av| 午夜精品久久久久久久久久 | 91免费国产视频网站| 欧美日韩黄色一区二区| 精品国产3级a| 伊人色综合久久天天| 麻豆极品一区二区三区| 91影院在线观看| 日韩一区二区三区电影在线观看| 国产精品网站在线| 性做久久久久久免费观看欧美| 国产一区二区视频在线| 欧美丝袜自拍制服另类| 久久亚洲精华国产精华液 | 中文欧美字幕免费| 一区二区三区在线观看视频 | 99视频精品免费视频| 7777精品伊人久久久大香线蕉 | 色婷婷综合久久久中文字幕| 欧美成人一区二区三区片免费| 国产精品国模大尺度视频| 奇米精品一区二区三区在线观看 | 国产夫妻精品视频| 欧美三级日韩在线| 久久精品欧美日韩精品| 日韩vs国产vs欧美| 91香蕉视频黄| 2024国产精品| 亚洲成人三级小说| av亚洲精华国产精华精| 精品成人佐山爱一区二区| 亚洲综合视频在线观看| 国产suv一区二区三区88区| 678五月天丁香亚洲综合网| 欧美激情中文字幕| 毛片av中文字幕一区二区| 欧美在线free| 中文字幕日韩一区| 国内精品视频666| 日韩欧美国产一区在线观看| 亚洲成av人片一区二区三区| 99久久免费精品高清特色大片| 久久久午夜精品理论片中文字幕| 日韩不卡一区二区| 欧美三级中文字幕| 亚洲欧美一区二区三区极速播放 | 亚洲美女屁股眼交| 悠悠色在线精品| 成人深夜在线观看| 欧美精品一区二区三区高清aⅴ| 亚洲成人动漫一区| 欧美亚洲国产一区在线观看网站| 国产精品女上位| 丁香婷婷综合色啪| 国产日韩欧美a| 成人不卡免费av| 国产精品你懂的| 成人av片在线观看|