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

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

?? wow.c

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

	WOW/Votrax SC-01 Emulator

 	Mike@Dissfulfils.co.uk

        Modified to match phonemes to words

        Ajudd@quantime.co.uk

**************************************************************************

wow_sh_start  - Start emulation, load samples from Votrax subdirectory
wow_sh_stop   - End emulation, free memory used for samples
wow_sh_w      - Write data to votrax port
wow_sh_status - Return busy status (-1 = busy)
wow_port_2_r  - Returns status of voice port
wow_sh_ update- Null

If you need to alter the base frequency (i.e. Qbert) then just alter
the variable wowBaseFrequency, this is defaulted to 8000

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

#include "driver.h"
#include "Z80/Z80.h"

int	wowBaseFrequency;		/* Some games (Qbert) change this */
int 	wowBaseVolume;
int 	wowChannel = 0;
struct  GameSamples *wowSamples;

/****************************************************************************
 * 64 Phonemes - currently 1 sample per phoneme, will be combined sometime!
 ****************************************************************************/

static const char *PhonemeTable[65] =
{
 "EH3","EH2","EH1","PA0","DT" ,"A1" ,"A2" ,"ZH",
 "AH2","I3" ,"I2" ,"I1" ,"M"  ,"N"  ,"B"  ,"V",
 "CH" ,"SH" ,"Z"  ,"AW1","NG" ,"AH1","OO1","OO",
 "L"  ,"K"  ,"J"  ,"H"  ,"G"  ,"F"  ,"D"  ,"S",
 "A"  ,"AY" ,"Y1" ,"UH3","AH" ,"P"  ,"O"  ,"I",
 "U"  ,"Y"  ,"T"  ,"R"  ,"E"  ,"W"  ,"AE" ,"AE1",
 "AW2","UH2","UH1","UH" ,"O2" ,"O1" ,"IU" ,"U1",
 "THV","TH" ,"ER" ,"EH" ,"E1" ,"AW" ,"PA1","STOP",
 0
};

/* Missing samples : ready.sam from.sam one.sam bite.sam youl.sam explode.sam if.sam myself.sam back.sam
   cant.sam do.sam wait.sam worlings.sam very.sam babies.sam breath.sam fire.sam beat.sam rest.sam
   then.sam never.sam worlock.sam escape.sam door.sam try.sam any.sam harder.sam only.sam meet.sam with.sam
   doom.sam pop.sam
   Problems with YOU and YOU'LL and YOU'DD */

static const char *wowWordTable[] =
{
"AH1I3Y1", "UH1GA1EH1N", "AHAH2", "AE1EH3M", "AE1EH3ND",
"anew.sam", "AH1NUHTHER", "AE1NY", "anyone.sam", "appear.sam", "AH1UH3R", "UHR", "BABYY1S", "BAE1EH3K",
"BE1T", "become.sam", "BEHST", "BEH1TER", "BUH3AH2YT", "bones.sam", "BRE1YTH", "but.sam", "can.sam", "KAE1EH3NT",
"chance.sam", "CHEHST", "KO1O2I3Y1N", "dance.sam", "DE1STRO1UH3I3AY",
"DE1VEH1LUH3PT", "DIUU", "DONT", "DUUM", "DOO1R", "draw.sam", "DUHNJEH1N", "DUHNJEH1NZ",
"each.sam", "eaten.sam", "EHSPA0KA2I3Y1P", "EHKPA0SPLOU1D", "fear.sam", "FAH1I3YND", "FAH1I3Y1ND", "FAH1EH3AYR", "FOR", "FRUHMM",
"garwor.sam", "GEHT", "GEH1T", "GEHEH3T", "GEHTING", "good.sam", "HAH1HAH1HAH1HAH1", "HAH1RDER",
"hasnt.sam", "have.sam", "HEH1I3VE1WA1I3Y1TS", "HAI1Y1", "HOP",
"HUHNGRY", "HUHNGGRY", "HERRY", "AH1EH3I3Y", "AH1UH3I3Y", "IF", "I1F", "AH1I3YM", "AH1EH3I3YL", "AH1I3Y1L", "IN1",
"INSERT", "invisibl.sam", "IT", "lie.sam", "MAE1EH3DJI1KUH1L",
"MAE1EH3DJI1KUH1L", "MEE1", "MEE1T", "months.sam",
"MAH1EH3I3Y", "MAH2AH2EH3I3Y", "MAH1I1Y", "MAH1I3Y1", "MAH1I3Y", "MAH1I3YSEHLF", "near.sam", "NEH1VER",
"NAH1UH3U1", "UHV", "AWF", "WUHN", "O1NLY", "UHVEHN", "PA1", "PEHTS", "PAH1WERFUH1L", "PAH1P",
"radar.sam", "REHDY",
"REHST", "say.sam", "SAH1I3AYEHNS", "SE1Y", "PA0", "start.sam", "THVAYAY", "THVUH", "THVUH1", "THUH1", "THVEH1N",
"THVRU", "thurwor.sam", "time.sam", "TU1", "TUU1", "TIUU1", "TREH1ZHERT", "TRAH1EH3I3Y", "VEHEH3RY", "WA2AYYT",
"WOO1R", "WORYER", "watch.sam", "WE1Y", "WEHLKUHM",
"WERR", "WAH1EH3I3L", "WIL", "WITH", "WIZERD", "wont.sam",
"WO1O2R", "WO1ERLD", "WORLINGS", "WORLUHK",
"YI3U", "Y1IUU", "YIUUI", "Y1IUU1U1", "YI3U1", "Y1IUUL", "YIUU1L", "Y1IUUD", "YO2O2R",0
};

#define num_samples (sizeof(wowWordTable)/sizeof(char *))


/* Total word to join the phonemes together - Global to make it easier to use */
/* Note the definitions for these are global and defined in src/sndhrdw/gorf.c
   (not great I know, but it will have to do for the moment ;) ) */

extern char totalword[256], *totalword_ptr;
extern char oldword[256];
extern int plural;

int wow_sh_start(void)
{
    wowBaseFrequency = 11025;
    wowBaseVolume = 230;
    wowChannel = 0;
    return 0;
}

void wow_sh_stop(void)
{
}

int wow_speech_r(int offset)
{
    int Phoneme,Intonation;
    int i = 0;

    Z80_Regs regs;
    int data;

    totalword_ptr = totalword;

    Z80_GetRegs(&regs);
#ifndef USE_DRZ80 /* FRANXIS 01-09-2005 */
    data = regs.BC.B.h;
#else
    data = (regs.regs.Z80BC>>24)&0x0F;
#endif

    Phoneme = data & 0x3F;
    Intonation = data >> 6;

    if(Phoneme==63) {
   		sample_stop(wowChannel);
                totalword[0] = 0;				   /* Clear the total word stack */
                return data;
    }
    if (PhonemeTable[Phoneme] == "PA0")						   /* We know PA0 is never part of a word */
                totalword[0] = 0;				   /* Clear the total word stack */

/* Phoneme to word translation */

    if (strlen(totalword) == 0) {
       strcpy(totalword,PhonemeTable[Phoneme]);	                   /* Copy over the first phoneme */
       if (plural != 0) {
          if (!strcmp("S",totalword)) {		   /* Plural check */
             sample_start(wowChannel, num_samples-2, 0);	   /* play the sample at position of word */
             sample_adjust(wowChannel, wowBaseFrequency, -1);    /* play at correct rate */
             totalword[0] = 0;				   /* Clear the total word stack */
             oldword[0] = 0;				   /* Clear the total word stack */
             return data;
          } else {
             plural=0;
          }
       }
    } else
       strcat(totalword,PhonemeTable[Phoneme]);	                   /* Copy over the first phoneme */

    for (i=0; wowWordTable[i]; i++) {
       if (!strcmp(wowWordTable[i],totalword)) {		   /* Scan the word (sample) table for the complete word */
	  /* WOW has Dungeon */
          if ((!strcmp("GDTO1RFYA2N",totalword)) || (!strcmp("RO1U1BAH1T",totalword)) || (!strcmp("KO1UH3I3E1N",totalword))) {		   /* May be plural */
             plural=i+1;
             strcpy(oldword,totalword);
          } else {
             plural=0;
          }
          sample_start(wowChannel, i, 0);	                   /* play the sample at position of word */
          sample_adjust(wowChannel, wowBaseFrequency, -1);         /* play at correct rate */
          totalword[0] = 0;				   /* Clear the total word stack */
          return data;
       }
    }

    /* Note : We should really also use volume in this as well as frequency */
    return data;				                   /* Return nicely */
}

int wow_status_r(void)
{
    return !sample_playing(wowChannel);
}

/* Read from port 2 (0x12) returns speech status as 0x80 */

int wow_port_2_r(int offset)
{
    int Ans;

    Ans = (input_port_2_r(0) & 0x7F);
    if (wow_status_r() != 0) Ans += 128;
    return Ans;
}

void wow_sh_update(void)
{
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区三区在线| 不卡电影一区二区三区| 色综合色狠狠综合色| 亚洲色图在线播放| 欧美日韩精品高清| 日本特黄久久久高潮| 精品国产乱码久久久久久夜甘婷婷 | 日韩欧美黄色影院| 国产成人av自拍| 亚洲精品大片www| 精品日韩在线一区| 色综合网色综合| 麻豆成人在线观看| 国产精品家庭影院| 精品卡一卡二卡三卡四在线| 欧美xxxxxxxx| 久久久久9999亚洲精品| 不卡av电影在线播放| 色综合久久天天| 欧美日韩极品在线观看一区| 91精品国产91久久久久久最新毛片| 国产精品综合一区二区三区| 亚洲一级二级三级| 中文字幕精品综合| 亚洲乱码国产乱码精品精的特点 | 欧美精品粉嫩高潮一区二区| 蜜臀av一区二区在线免费观看| 日韩成人av影视| 国产伦精品一区二区三区免费迷| 亚洲综合无码一区二区| 轻轻草成人在线| 亚洲mv在线观看| 亚洲精品欧美二区三区中文字幕| 亚洲1区2区3区4区| 国产一区二区三区在线观看免费 | 国产精品毛片大码女人| 国产欧美视频一区二区| 国产日韩欧美a| 亚洲最大的成人av| 亚洲无人区一区| 亚洲一区二区三区三| 黄网站免费久久| 精品一区二区三区的国产在线播放 | 亚洲码国产岛国毛片在线| 国产精品嫩草影院com| 亚洲制服丝袜av| 国产成人综合亚洲91猫咪| 欧美色大人视频| 欧美主播一区二区三区| 欧美午夜精品免费| 欧美精品99久久久**| 久久久国产精品麻豆| 亚洲第一av色| 日本道精品一区二区三区| 在线亚洲一区二区| 久久精品人人做人人综合| 日本一区二区免费在线观看视频| 午夜精品在线看| 另类小说欧美激情| 成人手机在线视频| 欧美系列一区二区| 日韩理论在线观看| 懂色av中文一区二区三区| 成人app在线| 国产欧美1区2区3区| 久久国产婷婷国产香蕉| 欧美挠脚心视频网站| 亚洲综合丁香婷婷六月香| 播五月开心婷婷综合| 国产女人18毛片水真多成人如厕| 日韩精品五月天| 成人一区二区三区中文字幕| 精品福利在线导航| 蜜桃视频在线观看一区二区| 欧美精品三级在线观看| 亚洲成人av在线电影| 欧美日韩免费视频| 亚洲国产精品一区二区久久| 欧美日韩精品一区二区三区四区 | 26uuu精品一区二区在线观看| 国产免费久久精品| 国产精品综合二区| 欧美国产激情一区二区三区蜜月| 国产一区二区中文字幕| 国产无一区二区| 国产suv一区二区三区88区| 国产欧美精品一区aⅴ影院| 欧美在线|欧美| 亚洲第一精品在线| 日韩视频一区在线观看| 欧美国产在线观看| aaa国产一区| 欧美一区二区在线不卡| 青娱乐精品视频| 精品久久久久av影院| 国产精品系列在线观看| 国产精品久久看| 色婷婷亚洲婷婷| 亚洲va欧美va天堂v国产综合| 欧美日韩高清在线| 国产最新精品免费| 国产精品国产三级国产普通话99 | 色成人在线视频| 亚洲 欧美综合在线网络| 日韩一区二区三区电影| 韩国成人精品a∨在线观看| 中文字幕成人av| 欧美日韩国产系列| 精品亚洲免费视频| 一色桃子久久精品亚洲| 国产在线看一区| 亚洲欧洲www| 日韩一区二区影院| 91麻豆国产精品久久| 中文字幕成人av| 欧美久久久久久久久久| 国产xxx精品视频大全| 亚洲网友自拍偷拍| 国产精品毛片久久久久久| 欧美日韩国产精品成人| 国产成人夜色高潮福利影视| 国产激情精品久久久第一区二区| 国产精品电影一区二区| 日韩一级成人av| 色哟哟精品一区| 国产精品自拍三区| 日韩精品国产欧美| 亚洲蜜臀av乱码久久精品蜜桃| 日韩一区二区中文字幕| 欧美中文字幕久久| 成人中文字幕在线| 精东粉嫩av免费一区二区三区| 亚洲精品视频免费观看| 国产欧美日韩麻豆91| 欧美tk丨vk视频| 欧美日韩和欧美的一区二区| 99久久久精品| 亚洲资源在线观看| 亚洲精品一二三四区| 日本一区二区三区在线不卡| 欧美精品一区二区三区在线| 91精品黄色片免费大全| 精品一区二区三区免费| 日韩中文字幕麻豆| 亚洲自拍偷拍网站| 一区二区视频免费在线观看| 中文字幕精品一区二区精品绿巨人 | 精品国产乱码久久| 欧美一区二区三区啪啪| 欧美日韩精品一区二区天天拍小说 | 91丨porny丨国产| 成人免费视频视频在线观看免费| 国内外精品视频| 久久精品国产色蜜蜜麻豆| 一区二区三区在线免费播放| 韩国中文字幕2020精品| 亚洲欧洲日韩在线| 中文在线资源观看网站视频免费不卡| 精品日韩欧美在线| 精品国产网站在线观看| 欧美成人精品高清在线播放| 日韩美女视频一区二区在线观看| 这里只有精品视频在线观看| 在线播放/欧美激情| 日韩欧美电影一区| 精品国产一区二区国模嫣然| 精品99999| 亚洲国产精品t66y| 亚洲激情综合网| 午夜国产精品一区| 久久机这里只有精品| 国产乱码一区二区三区| 懂色av一区二区三区免费观看| 成人教育av在线| 欧美性做爰猛烈叫床潮| 91麻豆精品久久久久蜜臀| 久久中文字幕电影| 国产精品二三区| 亚洲第一福利视频在线| 韩国视频一区二区| 91在线观看地址| 日韩限制级电影在线观看| 国产日韩欧美亚洲| 亚洲伊人色欲综合网| 韩国三级在线一区| 色综合婷婷久久| 欧美成人伊人久久综合网| 国产精品国产三级国产普通话蜜臀 | 成人一级视频在线观看| 91国模大尺度私拍在线视频| 欧美精品在欧美一区二区少妇| 精品国产凹凸成av人网站| 专区另类欧美日韩| 日韩有码一区二区三区| 国产高清久久久| 欧美三电影在线| 久久美女高清视频| 亚洲电影一级片| caoporn国产精品| 日韩欧美国产一区二区在线播放|