Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
68dd5608
Commit
68dd5608
authored
Sep 28, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedos: Always run the BIOS tick timer.
parent
404aecb8
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
20 additions
and
15 deletions
+20
-15
dosmem.c
dlls/kernel32/dosmem.c
+0
-1
instr.c
dlls/kernel32/instr.c
+0
-7
kernel_private.h
dlls/kernel32/kernel_private.h
+0
-1
dosmem.c
dlls/winedos/dosmem.c
+20
-3
winedos.spec
dlls/winedos/winedos.spec
+0
-3
No files found.
dlls/kernel32/dosmem.c
View file @
68dd5608
...
...
@@ -115,7 +115,6 @@ BOOL load_winedos(void)
GET_ADDR
(
outport
);
GET_ADDR
(
EmulateInterruptPM
);
GET_ADDR
(
CallBuiltinHandler
);
GET_ADDR
(
BiosTick
);
#undef GET_ADDR
}
RtlRemoveVectoredExceptionHandler
(
dosmem_handler
);
...
...
dlls/kernel32/instr.c
View file @
68dd5608
...
...
@@ -106,13 +106,6 @@ static BOOL INSTR_ReplaceSelector( CONTEXT86 *context, WORD *sel )
{
if
(
*
sel
==
0x40
)
{
static
WORD
sys_timer
=
0
;
if
(
!
sys_timer
)
{
if
(
!
winedos
.
BiosTick
)
load_winedos
();
if
(
winedos
.
BiosTick
)
sys_timer
=
CreateSystemTimer
(
55
,
winedos
.
BiosTick
);
}
*
sel
=
DOSMEM_BiosDataSeg
;
return
TRUE
;
}
...
...
dlls/kernel32/kernel_private.h
View file @
68dd5608
...
...
@@ -137,7 +137,6 @@ extern struct winedos_exports
void
(
WINAPI
*
CallBuiltinHandler
)(
CONTEXT86
*
context
,
BYTE
intnum
);
DWORD
(
WINAPI
*
inport
)(
int
port
,
int
size
);
void
(
WINAPI
*
outport
)(
int
port
,
int
size
,
DWORD
val
);
void
(
*
BiosTick
)(
WORD
timer
);
}
winedos
;
/* returns directory handle for named objects */
...
...
dlls/winedos/dosmem.c
View file @
68dd5608
...
...
@@ -224,10 +224,25 @@ static void DOSMEM_FillBiosSegments(void)
*
* Increment the BIOS tick counter. Called by timer signal handler.
*/
void
BiosTick
(
WORD
timer
)
static
void
CALLBACK
BiosTick
(
LPVOID
arg
,
DWORD
low
,
DWORD
high
)
{
BIOSDATA
*
pBiosData
=
DOSVM_BiosData
();
if
(
pBiosData
)
pBiosData
->
Ticks
++
;
BIOSDATA
*
pBiosData
=
arg
;
pBiosData
->
Ticks
++
;
}
/***********************************************************************
* timer_thread
*/
static
DWORD
CALLBACK
timer_thread
(
void
*
arg
)
{
LARGE_INTEGER
when
;
HANDLE
timer
;
if
(
!
(
timer
=
CreateWaitableTimerA
(
NULL
,
FALSE
,
NULL
)))
return
0
;
when
.
u
.
LowPart
=
when
.
u
.
HighPart
=
0
;
SetWaitableTimer
(
timer
,
&
when
,
55
/* actually 54.925 */
,
BiosTick
,
arg
,
FALSE
);
for
(;;)
SleepEx
(
INFINITE
,
TRUE
);
}
/***********************************************************************
...
...
@@ -488,6 +503,8 @@ BOOL DOSMEM_InitDosMemory(void)
* Set DOS memory base and initialize conventional memory.
*/
DOSMEM_InitMemory
(
DOSMEM_dosmem
+
reserve
);
CloseHandle
(
CreateThread
(
NULL
,
0
,
timer_thread
,
DOSVM_BiosData
(),
0
,
NULL
));
return
TRUE
;
}
...
...
dlls/winedos/winedos.spec
View file @
68dd5608
...
...
@@ -11,6 +11,3 @@
@ cdecl FreeDosBlock(ptr) DOSMEM_FreeBlock
@ cdecl AllocDosBlock(long ptr) DOSMEM_AllocBlock
@ cdecl ResizeDosBlock(ptr long long) DOSMEM_ResizeBlock
# BIOS functions
@ cdecl BiosTick(long)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment