1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-29 06:14:34 +00:00

krnl386.exe: Start DOSVM timer on GET_SYSTEM_TIME.

Start the DOSVM tick timer when the GET_SYSTEM_TIME interrupt
(int 1a ah 00) is fired. This fixes a bug when running Sid Meier's
CIVILIZATION for Windows 3.1 where the game would appear to hang at the
launch screen (although sound would play as expected). This was due to
the BIOSDATA.Ticks field never being updated.

Signed-off-by: Liam Middlebrook <liammiddlebrook@gmail.com>
This commit is contained in:
Liam Middlebrook 2024-04-13 11:10:21 -07:00 committed by Alexandre Julliard
parent aaad795901
commit 4d58ee6a75

View File

@ -549,6 +549,8 @@ static void WINAPI DOSVM_Int1aHandler( CONTEXT *context )
case 0x00: /* GET SYSTEM TIME */
{
BIOSDATA *data = DOSVM_BiosData();
DOSVM_start_bios_timer();
SET_CX( context, HIWORD(data->Ticks) );
SET_DX( context, LOWORD(data->Ticks) );
SET_AL( context, 0 ); /* FIXME: midnight flag is unsupported */