Commit cf7ee88

Nick committed on
Removing all use of the Windows unit
commit cf7ee88f9b13dc57e36220b961f1eb2a97599afb parent f414faa
6 changed files +38−27
ModifiedCpu/machine.pas +0−2
@@ -11,8 +11,6 @@ unit machine;
11 11
12 interface 12 interface
13 13
14 uses Windows;
15
16 const 14 const
17 MaxCompanies = 74; 15 MaxCompanies = 74;
18 16
ModifiedDebugger/UnitDebug.pas +1−1
@@ -16,7 +16,7 @@ unit UnitDebug;
16 interface 16 interface
17 17
18 uses 18 uses
19 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 19 Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
20 debugger, StdCtrls, ComCtrls, Menus; 20 debugger, StdCtrls, ComCtrls, Menus;
21 21
22 type 22 type
ModifiedDebugger/UnitMapview.pas +1−1
@@ -6,7 +6,7 @@ unit UnitMapview;
6 interface 6 interface
7 7
8 uses 8 uses
9 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 9 Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
10 ComCtrls, ExtCtrls, StdCtrls; 10 ComCtrls, ExtCtrls, StdCtrls;
11 11
12 type 12 type
ModifiedGBEmu.lpi +14−11
@@ -43,37 +43,40 @@
43 </Mode0> 43 </Mode0>
44 </Modes> 44 </Modes>
45 </RunParams> 45 </RunParams>
46 <RequiredPackages Count="10"> 46 <RequiredPackages Count="11">
47 <Item1> 47 <Item1>
48 <PackageName Value="LazColorPalette"/> 48 <PackageName Value="etpackage"/>
49 </Item1> 49 </Item1>
50 <Item2> 50 <Item2>
51 <PackageName Value="RackCtlsPkg"/> 51 <PackageName Value="LazColorPalette"/>
52 </Item2> 52 </Item2>
53 <Item3> 53 <Item3>
54 <PackageName Value="laz_fpspreadsheet_visual"/> 54 <PackageName Value="RackCtlsPkg"/>
55 </Item3> 55 </Item3>
56 <Item4> 56 <Item4>
57 <PackageName Value="RunTimeTypeInfoControls"/> 57 <PackageName Value="laz_fpspreadsheet_visual"/>
58 </Item4> 58 </Item4>
59 <Item5> 59 <Item5>
60 <PackageName Value="virtualtreeview_package"/> 60 <PackageName Value="RunTimeTypeInfoControls"/>
61 </Item5> 61 </Item5>
62 <Item6> 62 <Item6>
63 <PackageName Value="SynEdit"/> 63 <PackageName Value="virtualtreeview_package"/>
64 </Item6> 64 </Item6>
65 <Item7> 65 <Item7>
66 <PackageName Value="eccontrols"/> 66 <PackageName Value="SynEdit"/>
67 </Item7> 67 </Item7>
68 <Item8> 68 <Item8>
69 <PackageName Value="LazControls"/> 69 <PackageName Value="eccontrols"/>
70 </Item8> 70 </Item8>
71 <Item9> 71 <Item9>
72 <PackageName Value="BGRABitmapPack"/> 72 <PackageName Value="LazControls"/>
73 </Item9> 73 </Item9>
74 <Item10> 74 <Item10>
75 <PackageName Value="LCL"/> 75 <PackageName Value="BGRABitmapPack"/>
76 </Item10> 76 </Item10>
77 <Item11>
78 <PackageName Value="LCL"/>
79 </Item11>
77 </RequiredPackages> 80 </RequiredPackages>
78 <Units Count="27"> 81 <Units Count="27">
79 <Unit0> 82 <Unit0>
ModifiedGpu/gfx.pas +1−1
@@ -22,7 +22,7 @@ var
22 22
23 implementation 23 implementation
24 24
25 uses Windows, vars; 25 uses vars;
26 26
27 procedure make_line_tile(nr: byte; offset: word); 27 procedure make_line_tile(nr: byte; offset: word);
28 var 28 var
Modifiedemulationthread.pas +21−11
@@ -9,22 +9,24 @@ uses
9 cthreads, 9 cthreads,
10 cmem, // the c memory manager is on some systems much faster for multi-threading 10 cmem, // the c memory manager is on some systems much faster for multi-threading
11 {$endif} 11 {$endif}
12 Classes, SysUtils; 12 Classes, SysUtils, epiktimer;
13 13
14 type 14 type
15 { TEmulationThread }
16
15 TEmulationThread = class(TThread) 17 TEmulationThread = class(TThread)
16 private 18 private
17 //stuff 19 ET: TEpikTimer;
18 protected 20 protected
19 procedure Execute; override; 21 procedure Execute; override;
20 public 22 public
21 Constructor Create(ROM: String); 23 Constructor Create(ROM: String);
24 destructor Destroy; override;
22 end; 25 end;
23 26
24 implementation 27 implementation
25 28
26 uses sound, mainloop, vars, machine, 29 uses sound, mainloop, vars, machine;
27 windows;
28 30
29 const 31 const
30 CyclesPerFrame : Integer = 70224; 32 CyclesPerFrame : Integer = 70224;
@@ -32,22 +34,21 @@ const
32 34
33 procedure TEmulationThread.Execute; 35 procedure TEmulationThread.Execute;
34 var 36 var
35 li: Large_Integer; 37 tickFreq, cycles: Extended;
36 tickFreq, cycles: Integer; 38 frameStart, frameEnd: Extended;
37 frameStart, frameEnd: Integer;
38 frameElapsedInSec: Double; 39 frameElapsedInSec: Double;
39 function GetCounter: Integer; 40 function GetCounter: Integer;
40 begin 41 begin
41 QueryPerformanceCounter(@li); 42 Result := Trunc(ET.Elapsed*1000000); // Convert to microseconds
42 Result := li.QuadPart
43 end; 43 end;
44 begin 44 begin
45 ET.Start;
46
45 lastTime := 0; 47 lastTime := 0;
46 48
47 cycles := 0; 49 cycles := 0;
48 50
49 QueryPerformanceFrequency(@li); 51 tickFreq := 1000000; // Convert to microseconds
50 tickFreq := li.QuadPart;
51 FrameStart := GetCounter; 52 FrameStart := GetCounter;
52 53
53 repeat 54 repeat
@@ -73,8 +74,17 @@ begin
73 ResetSound; 74 ResetSound;
74 enablesound; 75 enablesound;
75 76
77 ET := TEpikTimer.Create(nil);
78
76 load(ROM); 79 load(ROM);
77 end; 80 end;
78 81
82 destructor TEmulationThread.Destroy;
83 begin
84 inherited Destroy;
85
86 ET.Free;
87 end;
88
79 end. 89 end.
80 90