source: trunk/Forms/FormCpu.pas

Last change on this file was 15, checked in by chronos, 5 days ago
  • Modified: Faster instruction stepping.
File size: 1.7 KB
Line 
1unit FormCpu;
2
3interface
4
5uses
6 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ValEdit,
7 ExtCtrls, Z80;
8
9type
10
11 { TFormCpu }
12
13 TFormCpu = class(TForm)
14 GroupBox1: TGroupBox;
15 Timer1: TTimer;
16 ValueListEditor1: TValueListEditor;
17 procedure FormCreate(Sender: TObject);
18 procedure FormShow(Sender: TObject);
19 procedure Timer1Timer(Sender: TObject);
20 private
21 FReloadPending: Boolean;
22 public
23 Cpu: TCpuZ80;
24 procedure Reload;
25 end;
26
27
28implementation
29
30{$R *.lfm}
31
32{ TFormCpu }
33
34procedure TFormCpu.Timer1Timer(Sender: TObject);
35begin
36 if FReloadPending then begin
37 FReloadPending := False;
38 ValueListEditor1.Values['AF'] := IntToHex(Cpu.AF.Value, 4);
39 ValueListEditor1.Values['BC'] := IntToHex(Cpu.BC.Value, 4);
40 ValueListEditor1.Values['DE'] := IntToHex(Cpu.DE.Value, 4);
41 ValueListEditor1.Values['HL'] := IntToHex(Cpu.HL.Value, 4);
42 ValueListEditor1.Values['PC'] := IntToHex(Cpu.PC, 4);
43 ValueListEditor1.Values['SP'] := IntToHex(Cpu.SP, 4);
44 ValueListEditor1.Values['IX'] := IntToHex(Cpu.IX, 4);
45 ValueListEditor1.Values['IY'] := IntToHex(Cpu.IY, 4);
46 ValueListEditor1.Values['R'] := IntToHex(Cpu.RegR, 2);
47 ValueListEditor1.Values['I'] := IntToHex(Cpu.RegI, 2);
48 ValueListEditor1.Values['IM'] := IntToStr(Cpu.InterruptMode);
49 ValueListEditor1.Values['EI'] := IntToStr(Byte(Cpu.InterruptEnabled));
50 ValueListEditor1.Values['Cycles'] := IntToStr(Cpu.Cycles);
51 ValueListEditor1.Values['Ticks'] := IntToStr(Cpu.Ticks);
52 end;
53end;
54
55procedure TFormCpu.FormCreate(Sender: TObject);
56begin
57 end;
58
59procedure TFormCpu.FormShow(Sender: TObject);
60begin
61 Reload;
62end;
63
64procedure TFormCpu.Reload;
65begin
66 FReloadPending := True;
67end;
68
69end.
70
Note: See TracBrowser for help on using the repository browser.