Ignore:
Timestamp:
Apr 21, 2026, 6:15:40 PM (5 days ago)
Author:
chronos
Message:
  • Modified: Faster instruction stepping.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/FormDisassembler.pas

    r13 r15  
    3131    FOnAddBreakPoint: TAddressEvent;
    3232    FOnChangePC: TAddressEvent;
     33    FLastPC: Word;
    3334    procedure DoChangePC(Address: Word);
    3435    procedure DoAddBreakPoint(Address: Word);
     36    procedure UpdateDisassemblerPos;
    3537  public
    3638    Debugger: TDebugger;
     
    5557{ TFormDisassembler }
    5658
     59procedure TFormDisassembler.UpdateDisassemblerPos;
     60begin
     61  if FLastPc <> Debugger.Cpu.Pc then begin
     62    SelectAddress(Debugger.Cpu.PC);
     63    FLastPc := Debugger.Cpu.Pc;
     64  end;
     65end;
     66
    5767procedure TFormDisassembler.FormClose(Sender: TObject;
    5868  var CloseAction: TCloseAction);
     
    6272procedure TFormDisassembler.FormCreate(Sender: TObject);
    6373begin
     74  FLastPC := $ffff;
    6475end;
    6576
     
    128139procedure TFormDisassembler.Timer1Timer(Sender: TObject);
    129140begin
     141  UpdateDisassemblerPos;
    130142  if FReloadPending then begin
    131143    FReloadPending := False;
Note: See TracChangeset for help on using the changeset viewer.