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/>