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

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

?? portio.c,v

?? 話帶數據中傳真解調程序
?? C,V
?? 第 1 頁 / 共 3 頁
字號:
@d4 5a8 1 * Copyright 1999 Pavel Machek and R.J.M. Close, distribute under GPL
d20 2d104 2a105 1  WRITE_PORT_ULONG (PCIOutAddr, ecx);
d107 1a107 1  return (READ_PORT_ULONG (PCIInAddr));
d119 1a119 1  WRITE_PORT_ULONG (PCIOutAddr, dataOut);
d122 1a122 1  return (READ_PORT_USHORT (readPort));
d136 1a136 1  WRITE_PORT_ULONG (PCIOutAddr, eax);
d139 6a144 1  WRITE_PORT_ULONG (PCIInAddr, Value);
d150 1a150 1  WRITE_PORT_UCHAR ((BaseAddress + portOffset), value);
d156 1a156 1  WRITE_PORT_USHORT ((BaseAddress + portOffset), value);
d161 1a161 1  WRITE_PORT_UCHAR (BaseAddressIndex, BaseValue);
d164 1a164 1  WRITE_PORT_UCHAR (BaseAddressData, arg);
d169 2a170 2  WRITE_PORT_UCHAR (BaseAddressIndex, BaseValue);
  return READ_PORT_UCHAR (BaseAddressData);
d201 2a202 2  WRITE_PORT_UCHAR(BaseAddress, port);
  WRITE_PORT_UCHAR(BaseAddressData, val);
d208 2a209 2    WRITE_PORT_UCHAR(BaseAddress, port);
    return READ_PORT_UCHAR(BaseAddressData);
d212 2a213 2    WRITE_PORT_UCHAR(BaseAddress + 2, port);
    return READ_PORT_UCHAR(BaseAddressData);
d216 2a217 2    WRITE_PORT_UCHAR(BaseAddress, port);
    return READ_PORT_UCHAR(BaseAddressData);
d219 2a220 2  WRITE_PORT_UCHAR(BaseAddress + 2, port);
  return READ_PORT_UCHAR(BaseAddressData);
d288 2a289 1void dp_modem_command (unsigned int a0, unsigned int a4, unsigned int a8)
d291 21a311 20  if (1 /* FIXME */ || (a0 == 0x0c) || (a0 == 0x0e)) {
    if (!(dp_dsp_regread(0xB5) && 1)) {
      printf( "modem command: should read 0xb0?\n" );
      dp_regread(0xB0);
    }
    /* 2EC73 */
    if (!(dp_dsp_regread(0xB5) && 0x10)) {
      printf("modem command: something active at 0xb5?\n");
      dp_regwrite(0xB6, 0xEF);
      dp_dsp_regread(0xB0);
      dp_regwrite(0xB0, 0);
    }
    /* 2EC9B */
    dp_regwrite(0xB7, 0xFF);
    dp_regwrite(0xB6, 0xEE);
    dp_bamil_rd7 = 0xF3;
    dp_regwrite(0xD7, 0xF3);
    expect_irq();
    dp_dsp_data_in_progress = 0;
  }
d315 1a315 1  dp_regwrite(0x37, a0);
d444 1a444 1       dp_change_mercury_gain (0, 2, byte_59F32, (byte_59F33 | 1));
d656 9a664 3  case 0x38:   // loc_2E6A2 needs completing.
    if (x_dsp_mars)
       al = readbio(0x1120);
d666 2a667 2       al = readbio(0xffff);
    break;
d670 11a680 1    break;
d683 1a683 1    break;
d686 1a686 1    die( "x_input: 0x%x - not implemented\n", arg );
d709 1a710 1  printf( "x_input: unimplemented %x\n", arg );
d769 1a769 1#if 0
d775 1a775 1    init_local_phone_timer();
a785 22void
process_v34(void)
{  
  printf( "Process v34?\n" );
#if 0
  if (!(dp_int_regread(0xb6) & 0x10))
    goto lE07;
  if (byte_59ECB != 1)
    goto lE02;
  if (V34Mode != 0)
    goto lE02;
  io_dual_port_rx();
  goto lE07;

 lE02:
  dual_port_rx();
 lE07:
  if (dp_int_regread(0xb6) & 1)
    dual_port_tx();
#endif
}

d798 2d804 1d843 1a843 1  WRITE_PORT_UCHAR(BaseAddressIndex, BaseValue);
d847 1a847 1  WRITE_PORT_UCHAR(BaseAddressIndex, BaseValue);
d908 4a911 1  dp_change_mercury_gain(byte_59F30, byte_59F31, byte_59F32, byte_59F33);
d929 1d931 1d992 1a992 1    byte_59F33 &= ~al;
d998 1a998 1  byte_59F33 |= al;
a1005 12// Fake functions!

void expect_irq(void)
{
  usleep(1000); // Wait 1 milliseconds.
  // call ISR directly.
  dp_dsp_isr();
}


//=================================================================

d1036 1d1041 1a1041 1  expect_irq(); // Bodge for use with 'soft' IRQ!
a1045 1  //return (time(NULL)-from) * 0x70;
a1050 1  expect_irq();
a1051 1  expect_irq();
d1054 1a1054 2void
wait_for_core_read(void)
d1056 8a1063 1  x_sleep(100);
d1106 1a1106 1   // Read reg D5h until result != 2, or time has exceeded 500 milliseconds.
d1109 4a1112 3   while (x_elapsed_time(startTime) < 0x1f4) {
      if (dp_regread(0xd5) != 2) break;
      }
a1117 1
d1121 94@1.2log@Revised for 0.0.6, added more code (especially x_output) and moved some stuff outto initialise and control.@text@d278 3a280 2  if (a0 != 0x0c) {
    if (!(dp_dsp_regread(0xB5) && 1))
d282 1d285 1d295 1@1.1log@Initial revision
@text@a45 19volatile unsigned char dp_byte_f, dp_byte_e, dp_byte_d, dp_byte_c;
volatile unsigned int dp_bamil_rd7, dp_bamil_rbc, dp_dsp_data_in_progress, dp_sleep, dp_state;

bool CpqFlag = false;
bool x_dsp_mars = false;

int dp_cmd_timer;
unsigned char byte_59F18 = 0, byte_59EF3 = 0x12, byte_59EF4 = 0x50;
unsigned int x_chip_version = 0, dp_version;
unsigned char byte_59F30 = 0x88, byte_59F31 = 0x80, byte_59F32 = 0x6B, byte_59F33 = 0x1E; /* Mercury */

unsigned char byte_59E96 = 2, byte_59E97 = 1, byte_59F0B = 0x82, byte_59F04 = 2 /* or maybe 0? */,
  byte_59F2D = 0, byte_59F2E = 0;

int dp_dialing_status = 0, dp_timer = 0, x_modem_mode = 0, x_status = 0;

// Assume inactive for now.
unsigned char cell_active = 0;

d49 1d58 2a59 1void port_io_init(unsigned int Portbase1, unsigned int Portbase2, bool IsMarsChipset)
a60 6
  char chipMessage[3];

  // Set the mars chipset flag.
  x_dsp_mars = IsMarsChipset; 

d62 1a62 6  portbase = Portbase2;

  if (IsMarsChipset)
      strcpy(chipMessage, "a");
  else
      strcpy(chipMessage, "no");
d64 3a66 3  printf( "Initialising with ports at %x and %x, with %s mars chipset detected.\n",
          Portbase1, Portbase2, chipMessage );
  printf( "Assuming portbase at %x\n", portbase );
d72 1a76 3  printf( "Initializing modem\n" );
  dp_init_modem();
  printf( "Modem init done\n" );
d147 1a147 1void dp_out_port (int arg)	/* ??? This looks like having no args in disassembly */
d150 2d161 1a161 1void dp_regwrite (unsigned char val, unsigned int port)
d163 1a163 1  BaseValue = val;
d165 1a165 1  dp_out_port(port);
d168 1a168 1int dp_regread (unsigned int port)
d227 1d260 1d331 1d334 3a336 1  unsigned int ebx = 1;
d341 4a344 2  switch(arg) {
// 0002EAF0 off_2EAF0       dd offset loc_2E71C		0
d347 5a351 4    //set_boardid();
    //x_set_hardware_options();
    break;
// 0002EAF8                 dd offset loc_2E73A
d353 5d360 3a362 2// 0002EAFC                 dd offset loc_2E740		2
  case 2:
d366 10a375 5// 0002EB00                 dd offset loc_2EAEA
  case 3: case 4: case 5: return;
// 0002EB0C                 dd offset loc_2E706		6
// 0002EB10                 dd offset loc_2E6F8
// 0002EB14                 dd offset loc_2E7DC		8
d377 14a390 2    if (!x_dsp_mars)
      die( "implement me: 2e7e6\n" );
d393 2a394 3    
// 0002EB18                 dd offset loc_2E7B8		9
// 0002EB1C                 dd offset off_2E7B1		10
d396 16a411 2    /* something _very_ strange */
    /* 0x68, 0x30, 0x01, 0x00, (nop?!), */
d414 18a431 5    
// 0002EB20                 dd offset off_2E7AA		11
// 0002EB24                 dd offset loc_2E74E 	12
// 0002EB28                 dd offset loc_2E77E		13
// 0002EB2C                 dd offset loc_2E9E4		14
d433 10a442 1    if (!byte_59F0B)
d444 1d447 1d454 5a458 5    
// 0002EB30                 dd offset loc_2EA07		15
    /* Similar to 14 with minor difference! (, 1 -> , 0) */
  case 15:
    if (!byte_59F0B)
d460 1d463 1d471 1a471 2// 0002EB34                 dd offset loc_2EA34		16
// 0002EB38                 dd offset loc_2EA55		17
d473 10d484 26d511 70a580 4    if (CpqFlag == ((ebx & 0xff) > 0))
      return;
    // loc_2EABC:
    writebio(0x302, ebx & 0xff);
d582 2a583 8  case 18: case 19: case 20: case 21: return;
// 0002EB4C                 dd offset loc_2E807		22
// 0002EB50                 dd offset loc_2E89B
// 0002EB54                 dd offset loc_2EACF		24
// 0002EB58                 dd offset loc_2EAC3
// 0002EB5C                 dd offset loc_2EA72
// 0002EB60                 dd offset loc_2EA7C		27
// 0002EB64                 dd offset loc_2EA8D
d586 1a586 1       writebio(0x308, ebx);
d588 1a588 1       writebio(0x304, ebx);
d590 11a600 4    
// 0002EB68                 dd offset loc_2EA97		29
      /* (hmm, like 28 but use ", 0" instead */
// 0002EB6C                 dd offset loc_2EAA8
d603 17a619 1       writebio(0xffff, ebx);
d621 1a621 1       writebio(0x308, ebx);
d624 4a627 11// 0002EB70                 dd offset loc_2EAB2		31
  case 32: case 33: case 36: case 37: return;
// 0002EB7C                 dd offset loc_2E9BA		34
// 0002EB80                 dd offset loc_2E9BD		35
// 0002EB8C                 dd offset loc_2E9C8		38
// 0002EB90                 dd offset loc_2E9CB
// 0002EB94                 dd offset loc_2E9D9
// 0002EB98                 dd offset loc_2E9D6
// 0002EB9C                 dd offset loc_2E964		42
// 0002EBA0                 dd offset loc_2E99D
  default: die( "x_output: %d - not implemented\n", arg );
d631 3a633 2int
x_input(int arg)
d680 8a691 10void go_offhook(void)	/* Ouch, is it real command for going offhook? It looks like it is used only in some tests! */ 
{
  printf( "Going offhook..." );
  x_output(0x13);
  x_output(0x11);
  x_output(0x02);
  dp_state = 0x14;
  printf( "ok\n" );
}

d695 11a705 11  if (CpqFlag) {

     if (ComAddress == BaseAddress) {

        if ((word_59ED7 != 0xCCB0) && (word_59ED7 != 0xCDB0))
           BaseAddress = 0xEC; 
	    else
           BaseAddress = 0xBC;
     }
     else if ((BaseAddress != 0xEC) && (BaseAddress != 0xBC))
        BaseAddress = BaseAddress & 0xFFF8;
d732 1a732 88int
dp_init_modem(void)
{
  dp_dsp_data_in_progress = 0;
  dp_sleep = 0;
  printf( "Enabling board\n" );
  dp_board_enable();
  dp_regwrite(0xd8, 0xff);
  dp_regwrite(0xd7, 0xff);
  dp_regwrite(0xcb,    8);
  printf( "Sending commands" );
  dp_modem_command(0x13, 0, 0);
  printf( "." );
  dp_modem_command(0x12, 0, 0);
  printf( "." );
  dp_modem_command_long(0x29, 0xff, 1, 0x87, 0);
  printf( ":" );
  dp_bamil_rbc |= 0xff;
  dp_regwrite(0xbc, 0xff);
  dp_regwrite(0xbd, 0xff);
  dp_regwrite(0xbd,    0);
  dp_regwrite(0xbe,    0);
  dp_regwrite(0xb7, 0xff);
  dp_regwrite(0xd8, 0xff);
  dp_regwrite(0xb6, 0xee);
  dp_bamil_rd7 = 0xf3;
  dp_regwrite(0xd7, 0xf3);
  x_sleep(0x64);
  printf( "." );
  dp_modem_command(0x13, 0, 0);
  printf( "." );
  dp_modem_command(0x2d, 0, 0);
  printf( "." );
  dp_modem_command_long(0x2e, 1, 0x23, 7, 0);
  printf( "." );
  dp_modem_command(0x13, 0, 0);
  printf( "\n" );
  dp_byte_f = 0;
  dp_read_dsp_ram(0x3a);
  dp_read_dsp_ram(0x3a);

  if (dp_byte_f != 1) {
    printf( "Init: read_dsp_ram did not set dsp_byte_f\n" ); 
    return 0;
  }
  printf( "\nRom checksum is %x.\n", dp_dsp_rom_checksum() );
  /* some code looking around rom checksums */

  if (x_dsp_mars) {
    int version;
    version = dp_dsp_regread(0x0b);
    printf( "\nChip version is %x (mars).\n", version );
    x_chip_version = version>>6;
    if (x_chip_version) {
      dp_regwrite(0xa0, 0x21);
      dp_regwrite(0xa4,    0);
    }
  }
  x_output(0);
  {
    int shift = (byte_59F18 != 0);

    dp_write_dsp_ram(0x40, byte_59EF3 >> shift);
    dp_write_dsp_ram(0x41, byte_59EF4 >> shift);
  }
   
  dp_write_dsp_ram(0x43, 2);
  if ((!x_chip_version) && (!x_dsp_mars)) {
    /* ... */
  }

  /* ... */

  if (x_dsp_mars == 1)
    dp_modem_command_long(3, 0xc0, 0, 8, 0);

  /*   dp_tad_downloaded = dp_fax_downloaded = 0;

  dp_init_local_phone_timer();
  dp_first_call = 1; */
  dp_set_mercury_gain();
  printf( "Modem init complete\n" );
  
  return 1;
}

void
process_ring(void)
d741 1a741 1    // init_local_phone_timer();
d785 6a790 1  printf( "[ ISR called, todo is %x]", todo );
d806 1d882 1a882 1  printf( "Change mercury gain: %x, %x, %x, %x =", a0, a4, a8, aC );
d886 1a886 1  printf( "%x\n", res );
d921 1a921 1  printf( "writebio(%x, %x)\n", val, strange);
a983 75unsigned char
dp_offhook_cmd(void)
{
  int esi;
#if 0
  if (cell_active)
    { ... }
  dp_timer = x_current_time();

  if (dp_ring_detected())
    { ... }
#endif

  /* 2CFB8 */
  if (byte_59E97) {
    switch (byte_59E96) {
    case 3: x_output(0x0b); break;
    case 2: x_output(0x0a); break;
    default: x_output(0x09); break;
    }
    dp_modem_command(0x13, 0, 0);
    x_output(0x08);
  }
  x_output(0x0e);
  x_output(0x11);
  x_output(0x02);
  if (byte_59F0B != 0xff)
    x_output(0x0f);
  if (((byte_59F04 != 0) && (dp_dialing_status == 0))) {
    x_output(0x1c);
    x_output(0x1e);
    dp_timer = x_current_time();
    esi = x_current_time();
    while (1) {
      if (x_elapsed_time(esi)>0x0a)
	break;
      if (!x_input(0x41)) 
	continue;
      esi = dp_timer = x_current_time();
      if (x_elapsed_time(esi) < 0x50 /* strange_table_lookup()*/ )
	continue;
      x_output(0x03);
      /* x_send_mail(7, 1, 0, 0); */
      return 0;
    }
    /* 0A6 */
    if (byte_59F2E)
      x_output(0x1b);
    if (byte_59F2D)
      x_output(0x1d);
  }

  if ((x_modem_mode != 2) && (x_modem_mode != 3)) {
    x_output(0x13);
    /* at_init_diagnostics(); */
    x_status = 0;
  } else {
    x_output(0x14);
    if (CpqFlag)
      x_output(0x0d);
  }
  /* 0FE */
  if (byte_59F0B == 0xff) {
    /* dp_init_local_phone_timer(); */
    return 1;
  }
  dp_timer = x_current_time();
  /* Ouch, another strange table lookup */
#if 0
  if (maybe)
    x_output(0x10);
#endif
  return 1;
}

d990 2d1028 2d1032 1a1032 1  expect_irq(); // Why ? (not in machine code?)
d1040 1d1053 38a1090 1    
d1092 4d1097 13@

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
白白色亚洲国产精品| 欧美性受xxxx黑人xyx性爽| 精品视频在线免费看| 亚洲欧美综合另类在线卡通| 丰满白嫩尤物一区二区| 国产精品美女视频| 91免费在线看| 亚洲丰满少妇videoshd| 欧美剧情电影在线观看完整版免费励志电影 | 精品国产乱码久久久久久夜甘婷婷| 日本最新不卡在线| 久久久精品人体av艺术| 成人做爰69片免费看网站| 国产精品久久久久久久久动漫| 成人激情免费视频| 亚洲狠狠爱一区二区三区| 欧美精品在线一区二区| 精品亚洲成av人在线观看| 亚洲国产精品二十页| 色先锋资源久久综合| 午夜精品久久久久久久久久久| 日韩一区二区中文字幕| 国产一区 二区| 亚洲日本va在线观看| 欧美日韩美少妇| 国产精选一区二区三区| 亚洲欧美日韩电影| 日韩一二三区不卡| 大尺度一区二区| 亚洲成人免费看| 久久久无码精品亚洲日韩按摩| 成人永久免费视频| 亚洲成人黄色小说| 久久精品一区蜜桃臀影院| 91久久香蕉国产日韩欧美9色| 日日夜夜精品视频天天综合网| 久久综合色综合88| 欧洲色大大久久| 国产一区二区调教| 亚洲大片一区二区三区| 国产欧美一区二区精品忘忧草| 在线亚洲一区观看| 国产一区视频网站| 亚洲成人资源网| 国产精品三级电影| 欧美一区二区三区影视| 91免费国产在线| 国产麻豆午夜三级精品| 午夜电影一区二区| 一区在线播放视频| 欧美精品一区男女天堂| 欧美亚州韩日在线看免费版国语版| 精品影院一区二区久久久| 亚洲在线观看免费| 中文字幕一区二区三区不卡在线 | av在线一区二区| 久久激情五月激情| 亚洲成人av一区| 中文字幕日本不卡| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品女同互慰在线看| 日韩一区二区三区免费看| 色婷婷一区二区三区四区| 成人性色生活片免费看爆迷你毛片| 免费欧美在线视频| 亚洲国产精品视频| 亚洲日本青草视频在线怡红院| 久久女同互慰一区二区三区| 欧美日本在线观看| 色综合天天性综合| 成人免费高清视频在线观看| 国产一区二区电影| 美国三级日本三级久久99| 国产一区二区不卡| 欧美a级一区二区| 婷婷开心久久网| 亚洲电影视频在线| 亚洲成av人在线观看| 亚洲成在人线免费| 亚洲自拍偷拍av| 亚洲成av人片一区二区三区| 亚洲成人免费看| 日韩国产欧美视频| 日本中文在线一区| 久久国产精品72免费观看| 日本免费新一区视频| 裸体歌舞表演一区二区| 美腿丝袜一区二区三区| 久久精品国产一区二区三| 紧缚奴在线一区二区三区| 看电视剧不卡顿的网站| 黄页视频在线91| 国产一区二区三区蝌蚪| 国产a级毛片一区| 99久久综合精品| 日本韩国欧美在线| 欧美日韩电影在线| 日韩一区二区三区视频在线| 99精品欧美一区二区三区小说 | 激情综合色丁香一区二区| 午夜精品福利视频网站| 奇米综合一区二区三区精品视频| 久久精品国产一区二区三| 国产成人在线色| av在线不卡电影| 欧洲色大大久久| 91精品国产免费| 国产欧美va欧美不卡在线| 免费不卡在线观看| 国模无码大尺度一区二区三区| 久久99国产精品麻豆| 精品综合久久久久久8888| 粉嫩久久99精品久久久久久夜| 99精品欧美一区二区三区小说| 欧美日韩在线免费视频| 欧美一区二区三区在线电影| 久久久久久**毛片大全| 一区二区三区成人| 久久99久久久久久久久久久| 成人性生交大片免费看在线播放| 欧美在线观看视频一区二区三区| 日韩一区二区精品葵司在线| 欧美国产丝袜视频| 天堂久久久久va久久久久| 国产在线视频不卡二| 色噜噜夜夜夜综合网| 精品国产电影一区二区| 亚洲精品成人天堂一二三| 久久国产精品99久久久久久老狼| 99久久精品国产毛片| 日韩一级成人av| 亚洲综合色在线| 国产成人亚洲综合a∨婷婷| 欧洲视频一区二区| 国产欧美一区二区精品性| 日韩成人伦理电影在线观看| av不卡在线观看| 欧美大片在线观看一区二区| 精品国产一区二区亚洲人成毛片| jlzzjlzz欧美大全| 91精品啪在线观看国产60岁| 国产夜色精品一区二区av| 日韩电影在线免费观看| av电影天堂一区二区在线观看| 日韩欧美一区在线| 亚洲一区二区三区免费视频| 成人一区二区三区| 亚洲精品一区二区三区香蕉| 亚洲成人激情社区| 日本道在线观看一区二区| 欧美激情中文字幕| 久久99久久精品| 777色狠狠一区二区三区| 亚洲欧美国产毛片在线| 成人免费毛片app| 精品国产99国产精品| 日本三级亚洲精品| 欧美日韩国产免费一区二区 | 国产酒店精品激情| 91精品国产免费久久综合| 亚洲国产日韩a在线播放| 91亚洲精品乱码久久久久久蜜桃 | 3atv在线一区二区三区| 亚洲国产精品视频| 欧美性淫爽ww久久久久无| 亚洲精品日产精品乱码不卡| 成人免费av网站| 久久久高清一区二区三区| 国内国产精品久久| 欧美大度的电影原声| 精一区二区三区| 久久老女人爱爱| 国产成人午夜视频| 国产日韩精品久久久| 国产精品一区在线观看乱码| 久久综合九色综合欧美亚洲| 国产综合色在线| 日韩欧美国产不卡| 国产综合色产在线精品| 久久色在线观看| 国产盗摄女厕一区二区三区| 久久免费看少妇高潮| 精品一区二区av| 中文字幕精品三区| 91在线视频18| 奇米888四色在线精品| 欧美日韩精品一区二区在线播放| 一区二区高清视频在线观看| 欧美主播一区二区三区美女| 亚洲一二三四久久| 在线不卡免费av| 精品一二线国产| 国产精品免费久久久久| 99久久精品国产麻豆演员表| 亚洲精品菠萝久久久久久久| 欧美人伦禁忌dvd放荡欲情| 老司机精品视频在线| 国产欧美日韩综合| 色婷婷久久久亚洲一区二区三区| 亚洲sss视频在线视频|