Whoops, I accidentally included a broken patch. This version should even compile... Changelog: Remove last user of msdos/int1a.c. Index: msdos/dosmem.c =================================================================== RCS file: /home/wine/wine/msdos/dosmem.c,v retrieving revision 1.44 diff -u -r1.44 dosmem.c --- msdos/dosmem.c 4 Nov 2002 22:35:15 -0000 1.44 +++ msdos/dosmem.c 16 Nov 2002 19:40:08 -0000 @@ -30,6 +30,11 @@ # include <sys/mman.h> #endif +#include <time.h> +#ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +#endif + #include "winbase.h" #include "wine/winbase16.h" @@ -234,6 +239,27 @@ return (BIOSDATA *)(DOSMEM_sysmem + 0x400); } +/********************************************************************** + * DOSMEM_GetTicksSinceMidnight + * + * Return number of clock ticks since midnight. + */ +static DWORD DOSMEM_GetTicksSinceMidnight(void) +{ + struct tm *bdtime; + struct timeval tvs; + time_t seconds; + + /* This should give us the (approximately) correct + * 18.206 clock ticks per second since midnight. + */ + gettimeofday( &tvs, NULL ); + seconds = tvs.tv_sec; + bdtime = localtime( &seconds ); + return (((bdtime->tm_hour * 3600 + bdtime->tm_min * 60 + + bdtime->tm_sec) * 18206) / 1000) + + (tvs.tv_usec / 54927); +} /*********************************************************************** * DOSMEM_FillBiosSegments @@ -281,7 +307,7 @@ pBiosData->VideoPageSize = 80 * 25 * 2; pBiosData->VideoPageStartAddr = 0xb800; pBiosData->VideoCtrlAddr = 0x3d4; - pBiosData->Ticks = INT1A_GetTicksSinceMidnight(); + pBiosData->Ticks = DOSMEM_GetTicksSinceMidnight(); pBiosData->NbHardDisks = 2; pBiosData->KbdBufferStart = 0x1e; pBiosData->KbdBufferEnd = 0x3e; -- Jukka Heinonen <http://www.iki.fi/jhei/>