winedos / Fix reboot vector
Jukka Heinonen
jhei at iki.fi
Fri Oct 3 14:38:17 CDT 2003
This fixes those DOS programs that want to exit via reboot.
As far as I know, int19 under Windows NT DOS subsystem
works like ExitProcess so that was fixed, too.
Changelog:
Reboot (int19) under DOS now does ExitProcess.
Made BIOS reboot vector call int19.
Index: dlls/kernel/dosmem.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/dosmem.c,v
retrieving revision 1.1
diff -u -r1.1 dosmem.c
--- dlls/kernel/dosmem.c 18 Sep 2003 20:58:41 -0000 1.1
+++ dlls/kernel/dosmem.c 3 Oct 2003 19:18:48 -0000
@@ -265,6 +265,9 @@
/* BIOS ID */
*(pBiosSys+0xfffe) = 0xfc;
+
+ /* Reboot vector (f000:fff0 or ffff:0000) */
+ *(DWORD*)(pBiosSys + 0xfff0) = VM_STUB(0x19);
}
/***********************************************************************
Index: dlls/winedos/interrupts.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/interrupts.c,v
retrieving revision 1.20
diff -u -r1.20 interrupts.c
--- dlls/winedos/interrupts.c 25 Aug 2003 01:01:01 -0000 1.20
+++ dlls/winedos/interrupts.c 3 Oct 2003 19:19:14 -0000
@@ -40,7 +40,7 @@
/* 0C */ 0, 0, 0, 0,
/* 10 */ DOSVM_Int10Handler, DOSVM_Int11Handler, DOSVM_Int12Handler, DOSVM_Int13Handler,
/* 14 */ 0, DOSVM_Int15Handler, DOSVM_Int16Handler, DOSVM_Int17Handler,
- /* 18 */ 0, 0, DOSVM_Int1aHandler, 0,
+ /* 18 */ 0, DOSVM_Int19Handler, DOSVM_Int1aHandler, 0,
/* 1C */ 0, 0, 0, 0,
/* 20 */ DOSVM_Int20Handler, DOSVM_Int21Handler, 0, 0,
/* 24 */ 0, DOSVM_Int25Handler, DOSVM_Int26Handler, 0,
Index: dlls/winedos/int19.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/int19.c,v
retrieving revision 1.2
diff -u -r1.2 int19.c
--- dlls/winedos/int19.c 9 Mar 2002 23:44:32 -0000 1.2
+++ dlls/winedos/int19.c 3 Oct 2003 19:19:18 -0000
@@ -32,5 +32,6 @@
*/
void WINAPI DOSVM_Int19Handler( CONTEXT86 *context )
{
- WARN("Attempted Reboot\n");
+ TRACE( "Attempted Reboot\n" );
+ ExitProcess(0);
}
--
Jukka Heinonen <http://www.iki.fi/jhei/>
More information about the wine-patches
mailing list