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

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

?? tchnosnd.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
字號:
/******************************************************************************//*                                                                            *//*             TECHNOS SOUND SYSTEMS (C) 1990-1992 TECHNOS JAPAN              *//*                                                                            *//******************************************************************************/#include "gameinc.h"#include "tchnosnd.h"#include "taitosnd.h"#ifdef RAINE_DEBUG#include "debug.h"#endif#include "sasound.h"		// sample support routinesstatic UINT8 SoundByte[32];static int SoundW;static int SoundR;UINT8 TechnosSoundReadZ80(UINT16 offset){   int ta;   if( SoundW != SoundR ){      ta = SoundByte[SoundR];      SoundR = (SoundR+1) & 31;   }   else{      ta = 0x00;   }#ifdef RAINE_DEBUG   print_debug("Z80 Receives:%02x\n",ta);#endif   return ta;}void TechnosSoundWrite68k(UINT32 address, UINT16 data){   data&=0xFF;   SoundByte[SoundW]=data;   SoundW = (SoundW+1) & 31;   cpu_int_nmi(CPU_Z80_0);   #ifdef RAINE_DEBUG   print_debug("68000 Sends:%02x\n",data);   #endif}static struct OKIM6295interface m6295_interface ={   1,					// 1 chip   { 8000 },				// rate   { 0 },		// rom list   { 250 },};static struct YM2151interface ym2151_interface ={  1,                    // 1 chip  3500000,              // 3.5 MHz  { YM3012_VOL(127,MIXER_PAN_LEFT,127,MIXER_PAN_RIGHT) },  { NULL, },};struct SOUND_INFO technos_ym2151_m6295_sound[] ={   { SOUND_YM2151J, &ym2151_interface,    },   { SOUND_M6295,   &m6295_interface,     },   { 0,             NULL,                 },};static void YM2151_Init(int volume){    ym2151_interface.volume[0] = YM3012_VOL(volume,MIXER_PAN_LEFT,volume,MIXER_PAN_RIGHT);}DEF_INLINE void TechnosSound_Frame(void){   cpu_execute_cycles(CPU_Z80_0, 4000000/60);        // Sound Z80 xMhz   cpu_execute_cycles(CPU_Z80_0, 4000000/60);        // Sound Z80 xMhz}static void my_bankswitch(UINT16 offset,UINT8 data){	OKIM6295_set_bank_base(0,ALL_VOICES,(data & 1) * 0x40000);}void AddTechnosSound(UINT32 p1, UINT32 p2, UINT32 romsize, UINT8 *adpcmA, UINT8 *adpcmB, int volume){  int bank_size = adpcmB - adpcmA;    // Apply Speed Patch   // -----------------   Z80ROM[p1+0]=0xD3;   // OUTA (AAh)   Z80ROM[p1+1]=0xAA;   //   SetStopZ80Mode2( (UINT16) p2);   // Setup Z80 memory map   // --------------------   AddZ80AROMBase(Z80ROM, 0x0038, 0x0066);   AddZ80AReadByte(0xC000, 0xC7FF, NULL,                        Z80ROM+0xC000); // Z80 RAM   AddZ80AReadByte(0xC800, 0xC801, YM2151ReadZ80,               NULL);          // YM2151   AddZ80AReadByte(0xD800, 0xD800, M6295_A_Read_Z80,            NULL);          // OKI M6295   AddZ80AReadByte(0xE000, 0xE000, TechnosSoundReadZ80,         NULL);          // 68000 COMM   AddZ80AReadByte(0x0000, 0xFFFF, NULL,                        Z80ROM+0x0000); // <test>   AddZ80AReadByte(0x0000, 0xFFFF, DefBadReadZ80,               NULL);          // <bad reads>   AddZ80AReadByte(-1, -1, NULL, NULL);   AddZ80AWriteByte(0xC000, 0xC7FF, NULL,                       Z80ROM+0xC000); // Z80 RAM   AddZ80AWriteByte(0xC800, 0xC801, YM2151WriteZ80,             NULL);          // YM2151   AddZ80AWriteByte(0xD800, 0xD800, M6295_A_Write_Z80,          NULL);          // OKI M6295   AddZ80AWriteByte(0xE800, 0xE800, my_bankswitch,      NULL);          // OKI BANKING   //AddZ80AWriteByte(0xE800, 0xE800, M6295_A_WriteBank_Z80,      NULL);          // OKI BANKING   AddZ80AWriteByte(0x0000, 0xFFFF, NULL,                       Z80ROM+0x0000); // <test>   AddZ80AWriteByte(0x0000, 0xFFFF, DefBadWriteZ80,             NULL);          // <bad writes>   AddZ80AWriteByte(-1, -1, NULL, NULL);   AddZ80AReadPort(0x00, 0xFF, DefBadReadZ80,           NULL);   AddZ80AReadPort(  -1,   -1, NULL,                    NULL);   AddZ80AWritePort(0xAA, 0xAA, StopZ80Mode2,           NULL);   AddZ80AWritePort(0x00, 0xFF, DefBadWriteZ80,         NULL);   AddZ80AWritePort(  -1,   -1, NULL,                   NULL);   AddZ80AInit();   // Setup YM2151   // ------------   YM2151_Init(volume);   // Setup M6295   // -----------   ADPCMSetBuffers(((struct ADPCMinterface*)&m6295_interface),adpcmA,bank_size);   ExecuteSoundFrame=&TechnosSound_Frame;   SoundW = 0;   SoundR = 0;}DEF_INLINE void TechnosSoundOld_Frame(void){   cpu_execute_cycles(CPU_Z80_0, 4000000/60);        // Sound Z80 xMhz   cpu_interrupt(CPU_Z80_0, 0x38);   cpu_execute_cycles(CPU_Z80_0, 4000000/60);        // Sound Z80 xMhz   cpu_interrupt(CPU_Z80_0, 0x38);}// AddTechnosSoundOld()://// Older version seen in WWF SuperStars and Comba Tribes. Memory map is $4000// bytes earlier, single adpcm bank and int#38 is used.void AddTechnosSoundOld(UINT32 p1, UINT32 p2, UINT32 romsize, UINT8 *adpcmA, int volume){   int ta;   ADPCMSetBuffers(((struct ADPCMinterface*)&m6295_interface),adpcmA,0x40000);   for(ta=0;ta<0x8000;ta++){      Z80ROM[ta+0x8000]=0;   }   // Apply Speed Patch   // -----------------   Z80ROM[p1+0]=0xD3;   // OUTA (AAh)   Z80ROM[p1+1]=0xAA;   //   SetStopZ80Mode2( (UINT16) p2);   // Setup Z80 memory map   // --------------------   AddZ80AROMBase(Z80ROM, 0x0038, 0x0066);   AddZ80AReadByte(0x8000, 0x87FF, NULL,                        Z80ROM+0x8000); // Z80 RAM   AddZ80AReadByte(0x8800, 0x8801, YM2151ReadZ80,               NULL);          // YM2151   AddZ80AReadByte(0x9800, 0x9800, M6295_A_Read_Z80,            NULL);          // OKI ADPCM   AddZ80AReadByte(0xA000, 0xA000, TechnosSoundReadZ80,         NULL);          // 68000 COMM   AddZ80AReadByte(0x0000, 0xFFFF, NULL,                        Z80ROM+0x0000); // <test>   AddZ80AReadByte(0x0000, 0xFFFF, DefBadReadZ80,               NULL);          // <bad reads>   AddZ80AReadByte(-1, -1, NULL, NULL);   AddZ80AWriteByte(0x8000, 0x87FF, NULL,                       Z80ROM+0x8000); // Z80 RAM   AddZ80AWriteByte(0x8800, 0x8801, YM2151WriteZ80,             NULL);          // YM2151   AddZ80AWriteByte(0x9800, 0x9800, M6295_A_Write_Z80,          NULL);          // OKI ADPCM   AddZ80AWriteByte(0x0000, 0xFFFF, NULL,                       Z80ROM+0x0000); // <test>   AddZ80AWriteByte(0x0000, 0xFFFF, DefBadWriteZ80,             NULL);          // <bad writes>   AddZ80AWriteByte(-1, -1, NULL, NULL);   AddZ80AReadPort(0x00, 0xFF, DefBadReadZ80,           NULL);   AddZ80AReadPort(  -1,   -1, NULL,                    NULL);   AddZ80AWritePort(0xAA, 0xAA, StopZ80Mode2,           NULL);   AddZ80AWritePort(0x00, 0xFF, DefBadWriteZ80,         NULL);   AddZ80AWritePort(  -1,   -1, NULL,                   NULL);   AddZ80AInit();   // Setup YM2151   // ------------   YM2151_Init(volume);   // Setup M6295   // -----------   ExecuteSoundFrame=&TechnosSoundOld_Frame;   SoundW = 0;   SoundR = 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩女优视频免费观看| 欧美精品国产精品| 蜜桃一区二区三区在线| 日日噜噜夜夜狠狠视频欧美人 | 国产一区二区福利视频| 麻豆91精品91久久久的内涵| 日本va欧美va欧美va精品| 日本特黄久久久高潮| 奇米四色…亚洲| 蜜桃精品视频在线| 国产成人亚洲综合a∨婷婷| 国产a级毛片一区| 91免费国产在线观看| 色欧美乱欧美15图片| 欧美日韩视频在线观看一区二区三区| 在线观看91av| 久久久不卡网国产精品一区| 中文字幕电影一区| 成人免费在线播放视频| 一区二区三区国产| 免费不卡在线观看| 国产aⅴ综合色| 欧美日韩一区二区三区在线看 | 韩国女主播一区二区三区| 韩国精品主播一区二区在线观看| 成人在线综合网| 欧美色综合久久| 欧美精品一区二区三| 国产精品成人在线观看| 日韩高清不卡一区二区| 成人丝袜高跟foot| 欧美美女网站色| 国产精品理伦片| 亚洲18女电影在线观看| 国产专区欧美精品| 欧美久久久久久蜜桃| 中文字幕精品一区二区精品绿巨人| 亚洲高清在线视频| 成人在线综合网站| 欧美一区二区观看视频| 日韩久久一区二区| 国产综合久久久久久鬼色| 一本到不卡精品视频在线观看 | 欧美激情一区二区三区| 亚洲电影中文字幕在线观看| 国产成人免费视频精品含羞草妖精 | 精久久久久久久久久久| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩一级完整毛片| 亚洲色图欧美在线| 福利电影一区二区三区| 欧美浪妇xxxx高跟鞋交| 亚洲美女屁股眼交3| 国产专区欧美精品| 日韩一区二区三区三四区视频在线观看 | 国产a精品视频| 日韩精品一区二区三区视频在线观看| 亚洲三级小视频| 不卡一区二区在线| 久久精品一区四区| 国模一区二区三区白浆| 欧美一区二区成人| 日本亚洲视频在线| 欧美日韩成人在线| 亚洲一级片在线观看| 91美女在线观看| 综合激情成人伊人| 成人app在线| 欧美韩国日本一区| 国产福利电影一区二区三区| 精品久久久久久最新网址| 久久精品国产精品亚洲精品| 欧美一区二区私人影院日本| 亚洲午夜一区二区| 色婷婷综合激情| 亚洲图片欧美一区| 337p亚洲精品色噜噜| 秋霞电影一区二区| 精品久久久久久最新网址| 精油按摩中文字幕久久| 久久精品在线免费观看| 成人免费黄色大片| 亚洲免费色视频| 欧美日韩中文精品| 三级欧美在线一区| 精品av综合导航| 国产成人精品一区二区三区四区 | 精品福利av导航| 九九视频精品免费| 国产精品三级久久久久三级| 高潮精品一区videoshd| 亚洲日本欧美天堂| 欧美在线不卡一区| 天堂成人国产精品一区| 精品国产乱码久久久久久蜜臀| 九九国产精品视频| 亚洲桃色在线一区| 欧美日韩高清一区二区三区| 日韩高清不卡在线| 国产日韩精品一区二区三区在线| 成人国产一区二区三区精品| 亚洲制服欧美中文字幕中文字幕| 在线电影院国产精品| 国产精品99久久久| 亚洲美腿欧美偷拍| 日韩你懂的在线观看| av资源站一区| 日本aⅴ免费视频一区二区三区 | 亚洲bt欧美bt精品| 日韩在线观看一区二区| 2023国产精华国产精品| 色综合天天性综合| 日韩精品久久理论片| 国产精品美女久久福利网站| 欧美人与性动xxxx| 成人福利视频在线| 蜜桃av一区二区| 一区二区三区四区在线播放 | 日韩 欧美一区二区三区| 国产日韩精品一区二区三区| 欧美日韩国产精选| av在线不卡网| 国内不卡的二区三区中文字幕 | 狠狠色狠狠色综合系列| 一区二区三区在线视频免费观看| 精品免费国产二区三区 | 美洲天堂一区二卡三卡四卡视频| 亚洲男人都懂的| 久久久久久久久久久99999| 欧美视频你懂的| 欧美一区二区三区在线观看视频| jlzzjlzz欧美大全| 国产精选一区二区三区| 天天影视网天天综合色在线播放| 国产亚洲成aⅴ人片在线观看| 欧美一卡二卡在线观看| 欧美日韩你懂的| 在线观看亚洲专区| 色8久久精品久久久久久蜜| 成人国产精品视频| 成人美女视频在线观看18| 国产精品综合久久| 国产一区二区三区不卡在线观看 | www激情久久| 91精品国产色综合久久不卡蜜臀 | 国产精品国产三级国产普通话蜜臀| 日韩欧美一区中文| 欧美人xxxx| 欧美日韩国产片| 在线观看视频一区| 91高清视频免费看| 91福利视频网站| 欧美亚洲动漫另类| 欧美性做爰猛烈叫床潮| 99久久婷婷国产综合精品| 高清不卡一区二区| 粉嫩13p一区二区三区| 懂色av一区二区在线播放| 粉嫩嫩av羞羞动漫久久久 | 911精品产国品一二三产区| 欧美日韩综合不卡| 欧美顶级少妇做爰| 精品久久人人做人人爰| 久久综合久久综合久久| 国产色综合久久| 国产精品国产三级国产专播品爱网| 国产精品色婷婷久久58| 亚洲精品国产一区二区三区四区在线| 一区二区在线观看视频| 亚洲成人av一区二区三区| 美女mm1313爽爽久久久蜜臀| 国产精品一区二区无线| 成人av在线资源网站| 欧美中文字幕久久| 日韩午夜激情电影| 国产网站一区二区| 亚洲美女屁股眼交| 免费成人美女在线观看.| 高清不卡在线观看av| 欧美性大战xxxxx久久久| 精品日韩一区二区三区| 国产精品成人一区二区艾草 | 亚洲va天堂va国产va久| 黄页网站大全一区二区| 成人午夜精品一区二区三区| 欧美系列在线观看| 日韩精品一区国产麻豆| 国产精品家庭影院| 日韩av不卡一区二区| 91在线视频播放地址| 9191久久久久久久久久久| 亚洲国产精品传媒在线观看| 亚洲国产一区二区三区青草影视 | 亚洲精品视频在线观看免费| 丝袜诱惑制服诱惑色一区在线观看| 国产成人免费xxxxxxxx| 337p亚洲精品色噜噜| 亚洲精品视频免费看| 国产白丝精品91爽爽久久| 91精品麻豆日日躁夜夜躁|