Release 950901
Thu Aug 31 17:19:57 1995 Alexandre Julliard <julliard@sunsite.unc.edu>
* [Configure]
Added compile-time option for IPC.
* [configure.in]
Added command-line options for language, IPC and malloc
debugging.
* [controls/menu.c]
WM_MENUSELECT was sometimes sent to the wrong window.
* [debugger/break.c]
For the 'next' command, only step over instruction that require
it. This allows 'next' to do the right thing with jmp and ret
instructions.
* [ipc/*.c] [memory/atom.c] [memory/global.c]
IPC can now be configured out at compile-time.
* [loader/task.c]
Bug fix in TASK_Reschedule() that could cause a task to be deleted
twice.
* [miscemu/dosmem.c] (New file)
Partial emulation of the BIOS data segment.
* [miscemu/instr.c]
Trap attempts to access selector 0x40 and remap the access to
segment __0040H.
* [tools/build.c]
Fixed bug in CallTo32_LargeStack() that caused problems when
compiling Wine with the -fomit-frame-pointer option.
* [windows/message.c]
Fixed bug in hardware event handling that could cause some events
to get ignored.
Sat Aug 26 13:12:59 IST 1995 Michael Veksler <mveksler@vnet.ibm.com>
* [ipc/README] [ipc/dde.tex]
LaTeX documentation for the ipc and DDE stuff.
Wed Aug 23 22:01:23 GMT 1995 Michael Veksler <mveksler@vnet.ibm.com>
* [ipc/Imakefile] [ipc/wine_test_stub.c]
Fixed IPC testing. Now it can be compiled with "make tests"
Wed Aug 23 21:04:14 1995 Fons Botman <botman@wab-tis.rabobank.nl>
* [if1632/kernel.spec] [include/windows.h] [misc/main.c]
Added GetWinDebugInfo/SetWinDebugInfo stub for player.exe
Sun Aug 20 13:49:42 1995 Marcus Meissner <msmeissn@faui01.informatik.uni-erlangen.de>
* [miscemu/int21.c]
Misc fix to int21,ah=40 (write) to match _lwrite().
AX=0x440A (check if handle is remote) added.
* [multimedia/mmsystem.c]
Moved mciSendString to mcistring.c.
* [multimedia/mcistring.c]
New file, string interface for MCI (not complete, not thoroughly
tested).
* [multimedia/audio.c]
IOCTL prints errors; one paranoid check disabled.
* [misc/file.c]
Misc operator precedence fixes.
* [if1632/gdi.spec] [objects/bitblt.c]
Stub for FastWindowFrame (parameters not correct).
Sat Aug 19 01:31:23 1995 Graham Menhennitt <gfm@werple.mira.net.au>
* [loader/ne_image.c]
Preliminary support for iterated segments.
Sat Aug 19 00:43:04 1995 Andrew Taylor (andrew@riscan.com)
* [windows/mapping.c]
In function MAPPING_FixIsotropic(), VportExt[XY] is multiplied by
the absolute value of (ydim / xdim) or (xdim / ydim).
Thu Aug 15 23:00:16 Gregory Trubetskoy <grisha@mira.com>
* [objects/oembitmap.c]
Added some includes for Windows 95.
* [include/sysmetrics.h]
Added some sysmetrics for Windows 95.
* [include/bitmaps/*95]
New files: obm_close_95, obm_closed_95, obm_reduce_95, obm_reduced_95
obm_zoom_95, obm_zoomd_95 - these are some pixmaps for Windows 95.
Thu Aug 10 12:00:00 1995 Jan Willamowius (jan@janhh.shnet.org)
* [misc/shell.c] [rc/sysres*.rc]
The caption of the ShellAbout dialog box is language specific and
should be defined in the resources.
diff --git a/miscemu/int1a.c b/miscemu/int1a.c
index 7e17e42..69386c0 100644
--- a/miscemu/int1a.c
+++ b/miscemu/int1a.c
@@ -15,6 +15,27 @@
/**********************************************************************
+ * INT1A_GetTicksSinceMidnight
+ *
+ * Return number of clock ticks since midnight.
+ */
+DWORD INT1A_GetTicksSinceMidnight(void)
+{
+ struct tm *bdtime;
+ struct timeval tvs;
+
+ /* This should give us the (approximately) correct
+ * 18.206 clock ticks per second since midnight.
+ */
+ gettimeofday( &tvs, NULL );
+ bdtime = localtime( &tvs.tv_sec );
+ return (((bdtime->tm_hour * 3600 + bdtime->tm_min * 60 +
+ bdtime->tm_sec) * 18206) / 1000) +
+ (tvs.tv_usec / 54927);
+}
+
+
+/**********************************************************************
* INT_Int1aHandler
*
* Handler for int 1ah (date and time).
@@ -24,25 +45,16 @@
time_t ltime;
DWORD ticks;
struct tm *bdtime;
- struct timeval tvs;
switch(AH_reg(&context))
{
case 0:
- /* This should give us the (approximately) correct
- * 18.206 clock ticks per second since midnight
- * expected from this interrupt
- */
- gettimeofday(&tvs, NULL);
- bdtime = localtime(&tvs.tv_sec);
- ticks = (((bdtime->tm_hour * 3600 + bdtime->tm_min * 60 +
- bdtime->tm_sec) * 18206) / 1000) +
- (tvs.tv_usec / 54927);
- CX_reg(&context) = HIWORD(ticks);
- DX_reg(&context) = LOWORD(ticks);
- AX_reg(&context) = 0; /* No midnight rollover */
- dprintf_int(stddeb,"int1a_00 // ticks=%ld\n", ticks);
- break;
+ ticks = INT1A_GetTicksSinceMidnight();
+ CX_reg(&context) = HIWORD(ticks);
+ DX_reg(&context) = LOWORD(ticks);
+ AX_reg(&context) = 0; /* No midnight rollover */
+ dprintf_int(stddeb,"int1a_00 // ticks=%ld\n", ticks);
+ break;
case 2:
ltime = time(NULL);