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

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

?? control.c

?? 話帶數據中傳真解調程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
        esi = 0x10;
        }
      else {
        //loc_2C9B3:
        ebp = 0x8FF0;
        esi = 0x801F;
        }

      // loc_2C98D:
      edi = 0xb1;
      x_line_rate = 9;
      break; //goto loc_2CB9B;

  case 9:
	// loc_2C9D1 9
      if (S_auto_rate == 0){
        ebp = 0x9990;
        esi = 0x20;
        }
      else {
        //loc_2C9E4:
        ebp = 0x9FF0;
        esi = 0x803F;
        }
      // loc_2C9EE
      edi = 0xb1;
      x_line_rate = 10;
      break; //goto loc_2CB9B;

  case 10:
	// loc_2CA02 10
      if (S_auto_rate == 0){
        ebp = 0x0A990;
        esi = 0x40;
        }
      else {
        //loc_2C9E4:
        ebp = 0xBFF0;
        esi = 0x807F;
        }
      // loc_2C9EE
      edi = 0xb1;
      x_line_rate = 11;
      break; //goto loc_2CB9B;

  case 11:
	//loc_2CA33 11
      if (S_auto_rate == 0){
        ebp = 0x0C990;
        esi = 0x80;
        }
      else {
        //loc_2CA48:
        ebp = 0xFFF0;
        esi = 0x80FF;
        }
      // loc_2CA52
      edi = 0xb1;
      x_line_rate = 12;
      break; //goto loc_2CB9B;

  case 12:
	//loc_2CA66 12
	ebp = 0xFFF0;
	if (S_auto_rate)
	  eax = 0xffffffff;    // -1
	else
	  eax = 0;

	edi = 0xb1;
	eax = eax & 0x80FF;
	x_line_rate = 13;
	eax = eax + 0x100;
	esi = eax;
	break; //goto loc_2CB9B;

  case 13:
	//loc_2CA94 13
	ebp = 0xFFF0;
	if (S_auto_rate)
	  eax = 0xffffffff;    // -1
	else
	  eax = 0;

	edi = 0xb1;
	eax = eax & 0x81FF;
	x_line_rate = 14;
	eax = eax + 0x200;
	esi = eax;
	break; //goto loc_2CB9B;

  case 14:
	// loc_2CAC2 14
	ebp = 0xFFF0;
	if (S_auto_rate)
	  eax = 0xffffffff;    // -1
	else
	  eax = 0;

	edi = 0xb1;
	eax = eax & 0x83FF;
	x_line_rate = 15;
	eax = eax + 0x400;
	esi = eax;
	break; //goto loc_2CB9B;

  case 15:
	// loc_2CAF0 15
	ebp = 0xFFF0;
	if (S_auto_rate)
	  eax = 0xffffffff;    // -1
	else
	  eax = 0;

	edi = 0xb1;
	eax = eax & 0x87FF;
	x_line_rate = 16;
	eax = eax + 0x800;
	esi = eax;
	break; //goto loc_2CB9B;

  case 16:
	// loc_2CB72 16
	ebp = 0xFFF0;
	if (S_auto_rate)
	  eax = 0xffffffff;    // -1
	else
	  eax = 0;

	edi = 0xb1;
	eax = eax & 0x8FFF;
	x_line_rate = 17;
	eax = eax + 0x1000;
	esi = eax;
	break; //goto loc_2CB9B;
  }	
  //end switch.

// This stuff is very different to what's in Jamie's and
// the 568 version!
//loc_2CB9B:
  if (S_auto_mode) goto loc_2CBAF;
  if (bl == 0) goto loc_2CBAD;
  if (bl < 7) goto loc_2CBAF;

loc_2CBAD:
  edi = 0;

loc_2CBAF:
  //ebx = 0x821;
  if (ETC_mode == 0) goto loc_2CC2E;
  if (ETC_mode & 0x80) goto loc_2CBF6;

  al = S(0x28);
  if (al != 2) goto loc_2CBDD;

  ebp = ebp & 0x8BF0;
  esi = esi & 0x800F;
  goto loc_2CBED;

loc_2CBDD:	
  if (al != 1) goto loc_2CBED;
  ebp = ebp & 0x89B0;
  esi = esi & 0x8003;

loc_2CBED:
  ETC_mode = ETC_mode & 0x80;
  goto loc_2CC0C;

loc_2CBF6:
  ebp = ebp | 0x9ff0;
  esi = esi | 0x83ff;

  S_0x5d = dp_read_dsp_ram(0x821);

loc_2CC0C:
  if (wSymbolRate != 1)
    wSymbolRate = S(0x64);	

//loc_2CC22:	
  dp_write_dsp_ram(0x824, 0);

loc_2CC2E:
  if ((S(0x75) & 0xf0) == 0x30)
     edi = edi & 0xFF7F;
 
//loc_2CC3F: // Similar to 32292: in Jamies dis.	
  dp_write_dsp_ram(1, ebp);
  dp_write_dsp_ram(2, edi);

  ax = S(0x5D);
  if ((0xffff & edi) != 0) 
    ax = ax | 8;
  else //loc_2CC5D:	
    ax = ax & 0xfff7;

//loc_2CC61:
  dp_wV34Option = ax & 0xefff;

  if (S_V34_enable == 0) {
    //loc_2CCEB:
    dp_write_dsp_ram(0x80D, 0);
    goto loc_2CCED;
    }
  if (x_modem_state != 7) goto loc_2CCB8;
  if ((esi & 0x3000) == 0) goto loc_2CC9F;

  wSymbolRate = 0x400;
  ax = ax | 0x800;
  esi = esi | 0x800;
  dp_wV34Option = ax;
  goto loc_2CCB8;

loc_2CC9F:
  if (esi == 1) 
    dp_wV34Option = 0;	
  else //loc_2CCAF:
    wSymbolRate = 0x100;

loc_2CCB8:	
  if (wSymbolRate & 0x400)
    dp_write_dsp_ram(0x810, 0x21FF);
  else //loc_2CCC8:	
    dp_write_dsp_ram(0x810, 0x217F);

  dp_write_dsp_ram(0x823, wSymbolRate);

  dp_write_dsp_ram(0x80D, esi);

loc_2CCED:
  dp_write_dsp_ram (0x821, dp_wV34Option);
  dp_write_dsp_ram (0x3c, 0x122);
  dp_write_dsp_ram (0x47, 0x123);

  //printf(" xSymbolRate: 0x%04x, x_line_rate: %d.\n",
  //       wSymbolRate, x_line_rate);

}

void dp_update_modem_options(void)
{
  unsigned int bl, ax, esi, edi = 0;

  if (x_modem_mode != 0) return;

  //printf("dp_update_modem_options: setting options in DSP RAM.\n");

  bl = 0x27;
loc_2CD9D:
  ax = bl;
  ax = ax + 0x800;
  dp_write_dsp_ram(ax, edi);
  ax = bl;
  bl--;
  if (ax != 0) goto loc_2CD9D;

  dp_write_dsp_ram(0x0c, edi);
  dp_write_dsp_ram(0x39, edi);
  dp_write_dsp_ram(0x48, 0x7d0);

  ax = H_data_or_fax_carrier_rx_threshold_dB; // 59f26
  dp_write_dsp_ram (0x37, ax);

  esi = 0;

  if (cell_active) {
    dp_write_dsp_ram(0x37, 0x2b);
    esi = 0x4000;
  }

  ETC_mode = ETC_mode & 0x7f;
  dp_update_rate();

  ax = S_dial_line_rate;
  ax--;
  ax--;
  if (ax == 0) goto loc_2CE24;
  ax = ax - 3;
  if (ax != 0) goto loc_2CE30;

  if (S(0x3a) == 1) esi = esi | 1;
  goto loc_2CE30;

loc_2CE24:
  if (S(0x3b) != 0) esi = esi | 0x10;

loc_2CE30:
  ax = S(0x35);
  ax--;
  if (ax == 0) goto loc_2CE42;
  ax--;
  if (ax != 0) goto loc_2CE45;

  esi = esi | 4;
  goto loc_2CE45;

loc_2CE42:
  esi = esi | 2;

loc_2CE45:
  dp_write_dsp_ram(0x38, esi);
  dp_async_user_mode();

  esi = 0x825;
  dp_write_dsp_ram(esi, 0x3000);
  bl = S(0x54);
  ax = S(0x38);
  bl = bl/2;
  bl = bl & 0x70;

  if ((ax < 2) || (ax > 7))
	dp_write_dsp_ram(esi, 0x2333);
  else
	if (bl == 0x60)
	  bl = bl + 4;

  //loc_2CE9F:
  ax = bl;
  dp_write_dsp_ram(0x822, ax);
  dp_write_dsp_ram(0x827, 2);

  if ((S_dial_line_rate != 2) | (S(0x3b) != 1) | (x_modem_state != 3))
	ax = H_transmit_level_ndB;
  else
	ax = H_transmit_level_ndB + 1;

  dp_transmit_level(ax);
  dp_write_dsp_ram(0x3a, edi);
  dp_bV34WkState = 1;

}

void dp_update_diagnostics (void)
{
  if (V34Mode != 0)
    dp_get_line_rate ();
  x_status[6]  = x_line_rate_tx;
  x_status[8]  = x_line_rate;
  x_status[0x10] = dp_read_dsp_ram (0x4c);
  x_status[0x0c]  = x_modem_ec;
  x_status[0x12] = dp_read_dsp_ram (0x4a);
  x_status[0x14] = dp_read_dsp_ram (0x03);
  x_status[0x16] = dp_read_dsp_ram (0x54);
  x_status[0x18] = dp_read_dsp_ram (0x55);
  x_status[0x1a] = dp_read_dsp_ram (0x56);
  x_status[0x32] = dp_read_dsp_ram (0x80a);
  x_status[0x34] = dp_read_dsp_ram (0x80b);
  x_status[0x38] = x_dial_residual;
}

void dp_get_line_rate (void)
{
  unsigned short word = dp_read_dsp_ram (0x36);
  x_line_rate_tx = ((word >> 8) & 0x1f) + 2;
  x_line_rate    = (word & 0x1f) + 2;
}

void dp_v8_originate_msg(void)
{
  printf("dp_v8_originate_msg: warning not yet implemented!\n");
}

// Taken from version 568.
void dp_disable_workaround(void)
{
  if (x_dsp_mars3 != 0) {
	// Mars3 chipset.
	dp_write_dsp_ram(0xf20, 0x4228);
	dp_write_dsp_ram(0x311, 0xb9a7);
  }
  else {
	dp_write_dsp_ram(0xf20, 0x42f8);
	dp_write_dsp_ram(0x311, 0xb994);
  }
}

void dp_transmit_level (unsigned int level)
{
  dp_write_dsp_ram(3, level);
}

void dp_async_user_mode(void)
{
  unsigned int var_4 = 0x080;

  switch(S(13)){
  case 5:
	break;
  case 6:
	var_4 = 0x82;
	break;
  case 7:
	var_4 = 0x84;
	break;
  default:
	var_4 = 0x86;
	break;
  }

  //loc_2C7D2:
  if (S(15) != 0)
	var_4 = var_4 | 1;

  switch (S(0x13)) {
  case 1:
	var_4 = var_4 | 0x38;
	break;
  case 2:
	var_4 = var_4 | 0x30;
	break;
  case 3:
	var_4 = var_4 | 1;
	break;
  case 4:
	var_4 = var_4 | 0x28;
	break;
  default:
	break;
  }
  // loc_2C808:
  DpIdleFillChar = 0xff;
  dp_modem_command_long(0x29, 0xff, 1, var_4, 0);
}

void dp_sleep_mode(unsigned char arg1)
{
  printf("dp_sleep_mode(%d): warning not yet implemented!\n", arg1);
}

void dp_over_current_alert (void)
{
  printf("dp_over_current_alert: warning not yet implemented!\n");
}

// I wonder what this does? ;)
void dp_disable_33600 (void)
{
  dp_write_dsp_ram(0x801, 0x217F);
  dp_write_dsp_ram(0x823, wSymbolRate & 0x0FBFF);
  dp_write_dsp_ram(0x80D, (dp_read_dsp_ram(0x80D) & 0x0DFFF));
}

void dp_v34_workaround(void)
{
  printf("dp_v34_workaround: warning not yet implemented!\n");
}

void
dp_enable_ring_int(void)
{
  dp_regwrite(0xd8, 0xff);
  dp_bamil_rd7 &= 0xf1;
  dp_regwrite(0xd7, dp_bamil_rd7);
}

void dp_modem_idle_cmd (void)
{
  dp_modem_command (0x13, 0, 0);
  dp_write_dsp_ram (0xf20, 0x42f8);
}

bool dp_init_modem_connection(void)
{
  unsigned int ecx;
  unsigned short ax;

  dp_count = 0;
  if (V34Mode) {
	dp_get_line_rate();   // Set line rate var's from value read from DSP.
	if (x_line_rate == 2) return false;
	
	ax = (V34Mode & dp_read_dsp_ram(80));
	x_status[1] = 2;
	dp_max_line_rate = 18;

	//loc_2D43C: // Loop
	while ((ax & 0x2000) == 0){
	  ecx = dp_max_line_rate;
	  dp_max_line_rate--;
	  if (ecx == 0) break;
	  ax = ax << 1;
	}
	//goto loc_2D49E;
  }
  else{
	//loc_2D455:
	dp_max_line_rate = x_line_rate;
	dp_modem_rate();
	x_status[1] = 1;
	x_line_rate_tx = x_line_rate;
	
	if ((S_auto_mode == false) && (S_auto_rate == 0)
		&& (dp_max_line_rate != x_line_rate)) return 0;

	//loc_2D491:	
	dp_wV32bisRcvRate = dp_read_dsp_ram(0x35);
	//goto loc_2D49E;
  }

  //loc_2D49E:
  dp_bFallForward = 1;
  if (x_line_rate >= 6) 
	dp_write_dsp_ram(0xA60, 0);

  //loc_2D4B9:
  if ((S_speaker_enable == 1) || 
	  (S_speaker_enable == 3))
	x_output(7);

  //loc_2D4CD:
  if (x_modem_mode != 0) goto loc_2D505;
  if (S_dial_line_rate == 2) goto loc_2D4FE;
  if (dp_read_dsp_ram(0x3b) == 9) goto loc_2D4FE;

  S(0x1b) = 0;
  if (dp_read_dsp_ram(0x3b) != 0x86) goto loc_2D505;

loc_2D4FE:
  S(0x1b) = 1;

loc_2D505:
  if (((S(0x53) == 5) || (S(0x55) == 6))
	  && (!V34Mode)) return false;

  //loc_2D524:
  if ((wSymbolRate & 0x400) != 0)  // Test bit 4 of MSB.
	dp_disable_33600();

  //loc_2D532:
  x_status[0x2] = (x_line_rate_tx & 0xff);
  x_status[0x3] = (unsigned char)((x_line_rate_tx & 0xff00)/256);
  x_status[0x4] = (x_line_rate & 0xff);
  x_status[0x5] = (unsigned char)((x_line_rate & 0xff00)/256);
  dp_update_diagnostics();

  return true;
}

// ** WARNING! the Lucent 568 version is very different and has some
// DSP code patches (RT_FIX_MARS3 or RT_FIX) depending on whether it's
// a mars3 chipset. See ll_set_pci_id in 568 version for device specific
// settings.
bool dp_dial_connect_success(void)
{

  printf("dp_dial_connect_success: called\n");
  dp_v34_workaround();

  if ((dp_read_dsp_ram(0x8e) & 2) == 0) goto loc_2D620;
  if ((dp_read_dsp_ram(0x3a) & 8) == 0) goto loc_2D620;

  dp_dsp_status = (unsigned char)(dp_read_dsp_ram(0x32) & 0xff);
  if ((dp_dsp_status & 0x10) != 0) goto loc_2D620;

  dp_bGoodAuto = false;
  dp_bFallForward = true;

  V34Mode = dp_read_dsp_ram(0x817);
  if (V34Mode){
	if (dp_read_dsp_ram(0x80) != 0x70EA) goto loc_2D620;
	if (dp_read_dsp_ram(0xCF) != 0x6B69) goto loc_2D620;
  }

  if (ETC_mode){
	dp_count = 0;

	if (V34Mode)
	  dp_write_dsp_ram(0x80D, (dp_read_dsp_ram(0x80D) & 0x8003));
	else
	  dp_write_dsp_ram(1, (dp_read_dsp_ram(1) & 0x89B0));
  }

  dp_lapm_error_check_init();
  return dp_init_modem_connection();

 loc_2D620:
  // Debug 
  printf("dp_dial_connect_success: failed!\n");
  return false;
}

void dp_rate_change_cmd(unsigned int rate)
{
  // 568 version, rate arg is not used!
  sprintf(NULL, "%d", rate); // Bodge to consume arg.

  dp_disable_workaround();
  dp_bGoodAuto = 0;
  dp_count = 0;
  *(unsigned short*)(x_status + 0x24) = *(unsigned short*)(x_status + 0x24) + 1;
  dp_lapm_error_check_init();

  if ((x_dsp_mars3 != 4) &&
	  (dp_read_dsp_ram(0x60) > 16))
	dp_transmit_level(18);

  dp_modem_command(15, 0, 0);
}

void dp_auto_rate (void)
{
  printf("dp_auto_rate: Warning not yet implemented!\n");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久一日本道色综合| 亚洲精品国产成人久久av盗摄| 日日摸夜夜添夜夜添精品视频| 一本到三区不卡视频| 亚洲美女淫视频| 欧美日韩一区二区三区四区五区| 亚洲国产人成综合网站| 3atv一区二区三区| 视频精品一区二区| 欧美变态凌虐bdsm| 成人精品高清在线| 一区二区在线观看不卡| 欧美精品第1页| 韩国一区二区在线观看| 国产精品成人一区二区三区夜夜夜| 成人福利视频在线| 调教+趴+乳夹+国产+精品| 欧美日韩国产精选| 国产精品一区在线| 亚洲精品乱码久久久久久 | 亚洲男人的天堂在线观看| 91免费观看国产| 日韩精品一级中文字幕精品视频免费观看 | 中文av一区特黄| 色欲综合视频天天天| 日韩精品五月天| 日本一区二区三区视频视频| 日本精品一区二区三区高清| 蜜桃一区二区三区在线| 国产精品久久久久一区二区三区| 欧美三级电影网| 国产成人亚洲精品青草天美| 一区二区久久久久| 久久久久久久久久看片| 在线免费视频一区二区| 国产在线国偷精品产拍免费yy| 亚洲三级在线免费| 精品美女一区二区| 在线观看www91| 国产成人av一区二区| 香蕉久久一区二区不卡无毒影院| 国产亚洲欧洲一区高清在线观看| 欧美亚洲动漫制服丝袜| 国产精品夜夜嗨| 亚洲成人av福利| 国产精品对白交换视频 | 在线亚洲高清视频| 国产精品一区二区x88av| 亚洲地区一二三色| 中文字幕一区二区三中文字幕| 欧美一卡二卡在线观看| 一本到高清视频免费精品| 国产麻豆成人精品| 蜜臀av一区二区在线观看| 亚洲精品中文在线影院| 久久久久9999亚洲精品| 欧美一区二区二区| 欧美色图第一页| 91在线视频在线| 国产成人精品免费一区二区| 免费精品视频在线| 亚洲gay无套男同| 国产精品成人免费精品自在线观看| 日韩精品一区二区三区老鸭窝| 欧美三级蜜桃2在线观看| 91污片在线观看| 国产91精品在线观看| 国产在线不卡一区| 91丨九色丨尤物| 成人污污视频在线观看| 看电影不卡的网站| 久久精品国产亚洲5555| 日本不卡免费在线视频| 午夜精品久久久| 亚洲国产精品久久不卡毛片| 亚洲综合自拍偷拍| 亚洲综合在线五月| 亚洲超碰精品一区二区| 亚洲电影一级黄| 日韩经典中文字幕一区| 日韩国产欧美在线视频| 日韩国产在线一| 免费在线观看一区| 精品亚洲国内自在自线福利| 日韩成人一区二区三区在线观看| 天天影视涩香欲综合网| 视频一区二区三区中文字幕| 奇米四色…亚洲| 久久国产三级精品| 国产一区二区毛片| 成人av高清在线| 色偷偷久久人人79超碰人人澡| 色婷婷久久99综合精品jk白丝| 色欧美片视频在线观看在线视频| 色视频成人在线观看免| 欧美日韩午夜影院| 日韩视频免费观看高清在线视频| 欧美日韩第一区日日骚| 日韩午夜三级在线| 国产欧美日韩另类一区| 亚洲欧洲美洲综合色网| 一区二区三区精品在线观看| 天堂影院一区二区| 精品影视av免费| 成人午夜免费视频| 在线中文字幕不卡| 精品国精品自拍自在线| 欧美国产日韩一二三区| 亚洲男人都懂的| 毛片av中文字幕一区二区| 国产成人综合网| 欧美亚洲日本一区| 日韩欧美国产系列| 亚洲欧洲av另类| 日韩电影在线一区二区三区| 国产激情精品久久久第一区二区 | 成人手机电影网| 欧美视频自拍偷拍| 精品乱人伦小说| 亚洲欧美日韩一区| 美女视频黄久久| 99久久国产综合精品麻豆| 8v天堂国产在线一区二区| 久久久久综合网| 亚洲不卡一区二区三区| 成人永久免费视频| 一本大道久久a久久综合| 日韩一区二区三区高清免费看看| 中文字幕不卡在线播放| 午夜天堂影视香蕉久久| 国产成人在线免费观看| 7777精品伊人久久久大香线蕉 | 日本中文字幕一区二区视频| 岛国av在线一区| 欧美一区二区视频在线观看2020 | av不卡在线播放| 欧美一个色资源| 亚洲精品大片www| 国产高清一区日本| 91精品国产综合久久久蜜臀粉嫩| 国产精品久久久久久一区二区三区| 亚洲成人精品一区二区| 成人国产精品免费| 日韩视频国产视频| 亚洲一区二区三区影院| 成人免费福利片| 精品久久久久久久久久久院品网| 亚洲一区二区在线免费观看视频| 国产成人午夜视频| 91精品国产一区二区| 亚洲精品国久久99热| 成人一区二区三区中文字幕| 欧美成人三级电影在线| 亚洲成av人片一区二区梦乃 | 欧美图区在线视频| 亚洲日本成人在线观看| 国产成人在线观看免费网站| 日韩女优电影在线观看| 丝袜a∨在线一区二区三区不卡| 91女厕偷拍女厕偷拍高清| 国产精品人妖ts系列视频| 国产精品白丝jk白祙喷水网站| 制服视频三区第一页精品| 亚洲国产成人va在线观看天堂| 色哟哟一区二区在线观看 | 在线观看www91| 亚洲主播在线播放| 91黄视频在线观看| 伊人色综合久久天天| 色综合中文综合网| 国产亚洲综合性久久久影院| 九九久久精品视频| 精品国产sm最大网站| 免费欧美高清视频| 日韩欧美一区二区免费| 色悠悠久久综合| 亚洲视频中文字幕| 91久久精品网| 午夜久久久久久久久| 欧美日韩国产一区二区三区地区| 亚洲大型综合色站| 3d动漫精品啪啪| 国产综合久久久久久久久久久久| 精品久久久久久久久久久久包黑料| 精品系列免费在线观看| 精品国产人成亚洲区| 国产精品综合在线视频| 国产精品天干天干在线综合| av一区二区三区| 亚洲综合小说图片| 制服丝袜中文字幕一区| 精品综合免费视频观看| 国产欧美精品一区二区色综合朱莉 | 国产成人综合在线播放| 亚洲丝袜精品丝袜在线| 欧美久久一区二区| 国产乱码精品一区二区三区五月婷 | 99re亚洲国产精品| 一区二区三区在线播| 色狠狠一区二区三区香蕉|