Path: utzoo!attcan!uunet!cs.utexas.edu!samsung!brutus.cs.uiuc.edu!psuvax1!psuvm!jxs118
From: JXS118@psuvm.psu.edu (Jeff Siegel, Op from Atherton Hall)
Newsgroups: comp.sys.ibm.pc.programmer
Subject: Re: How to do a warm-boot from a C program
Message-ID: <90050.231645JXS118@psuvm.psu.edu>
Date: 20 Feb 90 04:16:45 GMT
References: <2028@milton.acs.washington.edu>
>
>jimmy writes:
>>Does anyone know how to do a boot from a C program?
>
>Yes, just do an Interrupt 25 (which is 19h). That will do it nicely.
Sorry, but my first reaction is NO ! NO ! NO !
This is a seems to be a common misconception. Int 19h is too buggy on
most machines that I've seen. It won't reset any hardware registers
that may have been mucked with. It alsowill fail (mostly) if you have
multiple-page-tracking-type EMM drivers installed. Your best bet for a reboot
is to far jump to addresss FFFF:0000. This will cause the almost-equivalent
of pressing the resest button (provided you have one.) However, this invokes
the memory test (usually lengthy). To exactly mimick a CTRL-ALT-DEL, you must
write hex word 1234 into some special address in the bios data areas (it is
listed in Norton, i don't remeber what the address is.) and then do the far
jump.
+-----------------------------------------------------------------------+
| Jeff Siegel | "Penn State --- |
| 24 Atherton Hall | Where the men are men and the |
| 862-5124 | sheep are nervous. " |
| JXS118 @ PSUVM.BITNET | - Ray Wolfgang |
+-------------------------------+---------------------------------------+