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

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

?? main.pas

?? TvicHW32(評估版)另一個編寫驅動程序的實用工具(497KB)
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
    with GWrite do
    begin
      WriteString('PortW','Port'+IntToStr(i),Cells[1,i]);
      WriteString('Values','Val'+IntToStr(i),Cells[2,i]);
    end;
    with GRead do
    begin
      WriteString('PortR','Port'+IntToStr(i),Cells[1,i]);
    end;
  end;
 end;
 MyIniFile.Free;
 Close;
end;

function HexToInt(s:String):dWord;
const hexch:array[0..15] of Char='0123456789ABCDEF';
var i,j : Byte;
    r,n,k:dWord;
    ch : Char;
begin
  k:=1; r:=0;
  for i:=Length(s) downto 1 do
  begin
    ch:=s[i]; n:=0;
    for j:=0 to 15 do if UpperCase(ch)=hexch[j] then n:=j;
    r:=r+n*k; if i>1 then k:=k*16;
  end;
  Result:=r;
end;

procedure TMainForm.GReadSelectCell(Sender: TObject; Col, Row: Longint;
  var CanSelect: Boolean);
begin
  with GRead do
  begin
    PortRSel:=HexToInt(Cells[1,Row]); NomRSel:=Row;
  end;
end;

procedure TMainForm.B_WriteClick(Sender: TObject);
begin
 with GWrite,HwCtrl do
 begin
   PortWSel:=HexToInt(Cells[1,Row]);    Cells[1,Row]:=IntToHex(PortWSel,4);
   ValWSel:=HexToInt(Cells[2,Row]);     Cells[2,Row]:=IntToHex(ValWSel,2);
   NomWSel:=Row;
   if (PortWSel=0) then begin MessageBeep(0); Exit; end;
   Port[PortWSel]    :=ValWSel;
 end;
end;

procedure TMainForm.B_WriteAllClick(Sender: TObject);
var i,v       : Byte;
    P,N       : Word;
begin
 with GWrite,HwCtrl do
 begin
   N:=0;
   for i:=1 to MaxPorts do
   begin
     P:=HexToInt(Cells[1,i]); Cells[1,i]:=IntToHex(P,4);
     if p>0 then
     begin
       V:=HexToInt(Cells[2,i]); Cells[2,i]:=IntToHex(v,2);
       Inc(N);
       PortRec[N].PortData:=V;
       PortRec[N].PortAddr:=P;
       PortRec[N].fWrite:=TRUE;
       Port[P]:=v;
     end;
   end;
//   if N>0 then PortControl(@PortRec,N);
 end;
end;

procedure TMainForm.B_ReadClick(Sender: TObject);
var b : Byte;
begin
 with GRead,HwCtrl do
 begin
   PortRSel:=HexToInt(Cells[1,Row]); Cells[1,Row]:=IntToHex(PortRSel,4);
   NomRSel:=Row;
   if (PortRSel=0) then begin MessageBeep(0); Exit; end;
   b:=Port[PortRSel];
   Cells[2,Row]:=IntToHex(b,2);
 end;
end;

procedure TMainForm.B_ReadAllClick(Sender: TObject);
var i       : Byte;
    P,N     : Word;
    cl      : array[1..MaxPorts] of Byte;
begin
 with GRead,HwCtrl do
 begin
   N:=0;
   for i:=1 to MaxPorts do
   begin
     P:=HexToInt(Cells[1,i]); Cells[1,i]:=IntToHex(P,4);
     if p>0 then
     begin
       Inc(N); cl[N]:=i;
       PortRec[N].PortAddr:=P;
       PortRec[N].fWrite:=FALSE;
       PortRec[N].PortData:=Port[P];
     end;
   end;
//   if N>0 then PortControl(@PortRec,N);
   for i:=1 to N do
     Cells[2,cl[i]]:=IntToHex(PortRec[i].PortData,2);
 end;
end;

procedure TMainForm.B_SetMemoryClick(Sender: TObject);
begin
  PhysAddr:=HexToInt(E_Addr.text); E_Addr.Text:=IntToHex(PhysAddr,8);
  with HwCtrl do  PointPhys:=TPointPhys(MapPhysToLinear(PhysAddr,256));
  B_SetMemory.Enabled:=FALSE;
  ShowButtons;
end;

procedure TMainForm.B_ReadMemoryClick(Sender: TObject);
var CurrAddr,i,j : dWord;
    s            : String;
    b            : Byte;
    ch           : Char;
begin
  if PointPhys<>NIL then
  begin
    CurrAddr:=PhysAddr;
    for i:=1 to 16 do
    begin
      s:=IntToHex(CurrAddr,8); MemoHex.Cells[0,i]:=s; s:='';
      for j:=1 to 16 do s:=s+IntToHex(PointPhys^[i][j],2);
      MemoHex.Cells[1,i]:=s; s:='';
      for j:=1 to 16 do
      begin
        b:=PointPhys^[i][j];
        if b>=$20 then ch:=Char(b) else ch:='.';  s:=s+ch;
      end;
      MemoHex.Cells[2,i]:=s;
      CurrAddr:=CurrAddr+16;
    end;

  end;

end;

procedure TMainForm.E_AddrChange(Sender: TObject);
begin
  B_SetMemory.Enabled:=HwCtrl.ActiveHW;;
end;

procedure TMainForm.Timer1Timer(Sender: TObject);
var nPin : Byte;
    i : Word;
    s : String;
begin
  with HWCtrl,TextMemo do
  begin
    if ActiveHW then L_Gen.Caption:=IntToStr(IRQCounter);
//    L_Debug.caption:='DebugCode='+IntToStr(DebugCode);
    L_ScanCode.caption:=': '+IntToHex(Scan_Code,2)+'h';
    L_LPT_Data.caption:=': '+IntToHex(Data_Reg,2)+'h';
    L_LPT_STATUS.caption:=': '+IntToHex(Status_Reg,2)+'h';
    L_Timers.Caption:=IntToStr(Flag_tim div 1000);
    L_Flag.Caption:=IntToStr(Flag_Intr);
    if ActiveHW and (not IRQMasked) then
    begin
      CurrTicker:=GetTickCount;
      Flag_Tim:=Sum_Ticks+CurrTicker-OldTicker;
    end else  OldTicker:=GetTickCount;
    for nPin:=1 to 17 do
      CPinRead[nPin].Checked:=Pin[nPin];

    C_ACKWL.Checked := LPTAckwl;
    C_Busy.Checked  := LPTBusy;
    C_ERROR.Checked := LPTError;
    C_PE.Checked    := LPTPaperEnd;
    C_SLCT.Checked  := LPTSlct;

    if FlagPrint then
    begin
      Timer1.Enabled:=FALSE;
      for i:=1 to 100 do
      begin
        Application.ProcessMessages;
        s:=Lines[NumLine]+#$0D#$0A;
        if NumSymbol>Length(s) then
        begin
          if NumLine=Lines.Count then begin
                                        Timer1.Enabled:=TRUE;
                                        FlagPrint:=FALSE; Exit;
                                      end;
          Inc(NumLine);
          s:=Lines[NumLine]+#$0D#$0A;
          NumSymbol:=1;
        end;
        if LPTPrintChar(Byte(s[NumSymbol])) then Inc(NumSymbol);
      end;
      Timer1.Enabled:=TRUE;
    end;

    B_Stop.Enabled:=FlagPrint;
    B_Print.Enabled:=not FlagPrint;

  end;
end;

procedure TMainForm.B_MaskClick(Sender: TObject);
begin
  with HWCtrl do
  begin
    if not B_Mask.Checked then
    begin
      Sum_Ticks:=Flag_Tim;
      IRQMasked := TRUE;
      Port[LPTBasePort+2]:=$00;
      C_LPT_IRQ.Checked:=FALSE;
    end
    else
    begin
      IRQ := SpinIRQ.Value;
      IRQNumber  := IRQ;
      Flag_Intr := 0;
      Sum_Ticks := 0;
      Flag_Tim  := 0;
      Scan_Code := 0;
      IRQMasked := FALSE;
    end;
    ShowButtons;
  end;
end;

procedure TMainForm.SpinIRQChange(Sender: TObject);
begin
  IRQ:=SpinIRQ.Value;
  HWCtrl.IRQNumber:=IRQ;
  ShowButtons;
end;

procedure TMainForm.B_FillMemoryClick(Sender: TObject);
var i,j : byte;
begin
  if PointPhys<>NIL then
  begin
    for i:=1 to 16 do
    begin
      for j:=1 to 16 do PointPhys^[i][j]:=16*(i-1)+j-1;
    end;
  end;
end;

procedure TMainForm.C_HardClick(Sender: TObject);
begin
  HwCtrl.HardAccess:=C_Hard.Checked;
end;

procedure TMainForm.C_LPT_IRQClick(Sender: TObject);
begin
  with HwCtrl do
  begin
    if C_LPT_IRQ.Checked then Port[LPTBasePort+2]:=$10
                         else Port[LPTBasePort+2]:=$00;
  end;
end;

procedure TMainForm.WPin1Click(Sender: TObject);
var nPin : Byte;
begin
  for nPin:=1 to 17 do
     HwCtrl.Pin[nPin]:=BOOL(CPinWrite[nPin].Checked);
end;

procedure TMainForm.C_InitClick(Sender: TObject);
begin
  HwCtrl.LPTInit;
end;

procedure TMainForm.B_ClearClick(Sender: TObject);
begin
  TextMemo.Clear;
end;

procedure TMainForm.B_PrintClick(Sender: TObject);
begin
  with TextMemo,HwCtrl do
  begin
    if FlagPrint then Exit;
    NumLine:=0;
    NumSymbol:=1;
    FlagPrint:=TRUE;
  end;
end;

procedure TMainForm.B_StopClick(Sender: TObject);
begin
  FlagPrint:=FALSE;
end;

procedure TMainForm.B_CloseDriverClick(Sender: TObject);
begin
  Timer1.Enabled:=FALSE;
  HwCtrl.Port[HwCtrl.LPTBasePort+2]:=$00;
  C_LPT_IRQ.Checked:=FALSE;
  HwCtrl.CloseDriver;
  B_Mask.Checked:=FALSE;
  PointPhys:=NIL;
  B_SetMemory.Enabled:=FALSE;
  Flag_Intr:=0;
  ShowButtons;
end;

procedure TMainForm.SpinLPTChange(Sender: TObject);
begin
  with HwCtrl do
  begin
    LPTNumber:=SpinLPT.Value;
  end;
  ShowButtons;
end;

procedure TMainForm.HwCtrlHwInterrupt(Sender: TObject; HwCounter: Integer;
  LPT_DataReg, LPT_StatusReg, ScanCode: Smallint);
begin
  Data_Reg   := LPT_DataReg;
  Status_Reg := LPT_StatusReg;
  Scan_Code  := ScanCode;
  IRQCounter := HwCounter;
  Inc(Flag_Intr);
end;

initialization
  NomWSel:=0; NomRSel:=0; PointPhys:=NIL; Flag_Intr:=0; Flag_tim:=0;
  Sum_Ticks:=0;CurrTicker:=0; OldTicker:=0;   Scan_Code := 0;
  FlagPrint:=FALSE; IRQCounter := 0;
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美喷水一区二区| 色狠狠av一区二区三区| 国产乱码字幕精品高清av| 国内精品久久久久影院一蜜桃| 国产不卡视频在线播放| 色哟哟欧美精品| 日韩欧美一区二区免费| 国产三级精品三级在线专区| 亚洲永久精品大片| 亚洲一卡二卡三卡四卡无卡久久| 免费看欧美美女黄的网站| 国产精品18久久久| jlzzjlzz亚洲日本少妇| 91精品国产色综合久久ai换脸| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美一区二区视频观看视频| 欧美成人一区二区| 亚洲精品日韩综合观看成人91| 日本aⅴ免费视频一区二区三区 | 波多野结衣欧美| 69av一区二区三区| 亚洲女同一区二区| 经典三级视频一区| 欧美日韩一二三区| 亚洲欧美一区二区三区极速播放 | 日韩精品中午字幕| 亚洲图片欧美一区| 精品一区二区三区日韩| 99国产麻豆精品| 欧美xingq一区二区| 亚洲成在人线免费| 成人国产电影网| 精品剧情v国产在线观看在线| 亚洲猫色日本管| 国产精品1区2区3区| 91精品国产色综合久久ai换脸| 亚洲精品美国一| 成人在线视频一区| 国产精品麻豆视频| 色综合久久久久综合| 亚洲摸摸操操av| 91黄色免费版| 亚洲资源中文字幕| 欧美日韩午夜在线视频| 五月天视频一区| 91精品国产综合久久福利 | 日韩欧美一二三四区| 久久电影国产免费久久电影| 精品国产麻豆免费人成网站| 国产精品资源在线看| 日本成人超碰在线观看| 欧美高清性hdvideosex| 国内精品国产成人国产三级粉色| 亚洲精品在线免费播放| 成人综合婷婷国产精品久久免费| 亚洲欧美综合色| 欧美日韩国产大片| 国产又黄又大久久| 亚洲精品视频在线观看网站| 欧美老年两性高潮| 国产一区在线观看视频| 日韩理论片网站| 欧美日本在线播放| 国产精品资源站在线| 亚洲黄色在线视频| 日韩精品一区二区三区老鸭窝 | 奇米亚洲午夜久久精品| 精品久久久久一区二区国产| youjizz国产精品| 丝袜美腿成人在线| 国产女主播一区| 在线播放一区二区三区| 国产不卡视频在线观看| 天天操天天干天天综合网| 国产区在线观看成人精品 | 成人av电影在线| 亚洲成人av免费| 亚洲国产精品激情在线观看| 欧美日韩中字一区| 国产91综合一区在线观看| 亚洲综合无码一区二区| 久久色中文字幕| 欧美色网一区二区| 成人精品免费视频| 亚洲一区二区三区在线播放| 精品福利一区二区三区免费视频| 色婷婷亚洲一区二区三区| 国产呦萝稀缺另类资源| 亚洲高清免费视频| 欧美高清在线一区二区| 欧美一卡二卡在线观看| 欧美综合久久久| 播五月开心婷婷综合| 国产在线一区观看| 日本在线不卡一区| 亚洲无人区一区| 亚洲天堂av一区| 国产亲近乱来精品视频| 欧美xxxx老人做受| 日韩一区二区免费在线观看| 欧美探花视频资源| 久久日韩精品一区二区五区| 欧美日韩成人在线一区| 在线精品视频一区二区三四| a4yy欧美一区二区三区| 高清在线不卡av| 国产精品一区二区果冻传媒| 麻豆精品在线观看| 美女精品一区二区| 日韩不卡在线观看日韩不卡视频| 亚洲综合一区二区三区| 亚洲最快最全在线视频| 亚洲免费在线播放| 亚洲精品免费在线观看| 亚洲精品一二三| 亚洲女爱视频在线| 亚洲欧美日韩在线不卡| 最新不卡av在线| 一区二区中文视频| 有坂深雪av一区二区精品| 一区二区三区在线免费视频| 亚洲美女视频一区| 亚洲成人午夜影院| 日韩电影在线免费| 国内一区二区在线| 国产很黄免费观看久久| 国产激情偷乱视频一区二区三区| 国产成人精品影院| 波多野结衣在线一区| 91日韩在线专区| 欧美亚洲动漫另类| 欧美精品v国产精品v日韩精品| 欧美日韩五月天| 日韩三级av在线播放| 2020国产精品自拍| 日本一区二区高清| 亚洲欧洲制服丝袜| 午夜精品免费在线| 精品伊人久久久久7777人| 精品在线亚洲视频| 成人一级视频在线观看| 欧洲色大大久久| 欧美一区二区在线免费观看| 久久天堂av综合合色蜜桃网| 中文字幕中文字幕在线一区| 亚洲影院在线观看| 韩国三级中文字幕hd久久精品| 丰满放荡岳乱妇91ww| 色哟哟一区二区在线观看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 色综合天天综合网国产成人综合天 | 狠狠色丁香久久婷婷综合丁香| 国产成人自拍高清视频在线免费播放| caoporm超碰国产精品| 欧美日韩一区二区三区在线看| 精品人在线二区三区| 中文字幕一区二区三区不卡在线| 亚洲午夜国产一区99re久久| 久草这里只有精品视频| 91麻豆精东视频| 欧美大肚乱孕交hd孕妇| 亚洲欧洲日韩在线| 日本视频一区二区三区| a美女胸又www黄视频久久| 欧美一区二区三区日韩| 国产精品第五页| 国模无码大尺度一区二区三区| 色婷婷综合久久久久中文 | 综合欧美一区二区三区| 免费视频最近日韩| 色久优优欧美色久优优| 久久久久国产一区二区三区四区| 一区二区三区在线免费视频 | 欧美在线色视频| 国产日韩影视精品| 久久精品国产亚洲高清剧情介绍 | 丝袜美腿亚洲综合| 视频在线在亚洲| 91蜜桃网址入口| 欧美激情一区二区| 免费在线观看一区| 欧美麻豆精品久久久久久| 亚洲桃色在线一区| 粉嫩高潮美女一区二区三区| 欧美一区二区三区人| 亚洲国产成人av网| 在线视频一区二区三| 综合久久一区二区三区| 成人av片在线观看| 中文字幕乱码日本亚洲一区二区| 国产一区视频导航| 欧美一区2区视频在线观看| 亚洲一区二区在线免费看| 99久久精品免费观看| 国产欧美精品一区二区三区四区| 激情五月激情综合网| 26uuu亚洲综合色| 国产综合一区二区| 欧美精品一区二区高清在线观看| 精品一区中文字幕|