Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!uoft02.utoledo.edu!desire.wright.edu!wright!news Newsgroups: comp.os.msdos.programmer Subject: Re: Protected mode/Real mode switching Message-ID: <1991Apr21.034034.29430@cs.wright.edu> From: sdawalt@valhalla.wright.edu (Shane Dawalt) Date: Sun, 21 Apr 91 03:40:34 GMT Reply-To: sdawalt@valhalla.wright.edu Sender: news@cs.wright.edu (USENET News System) References: <1991Apr15.160333.8107@msuinfo.cl.msu.edu> Distribution: comp Organization: Wright State University Lines: 24 From article <1991Apr15.160333.8107@msuinfo.cl.msu.edu>, by mackay@eecae.ee.msu.edu (James F. MacKay): > Can someone explain to me how to write a program that is capable > of running normally in protected mode, but can switch into real > mode for DOS calls? MS C and/or ASM preferred. > Switching from protected to real mode in 286 processors is not trivial, but is possible. I recomment obtaining the latest INTER???.ZIP from SIMTEL20 at PD1:. This document shows the location of the "reset code" in the BIOS and the useful code values. This code is checked by the BIOS each time the system is booted (reset or powerup). If this word is set to 1234H then the POST stuff is not executed and control is given directly to DOS. This is important for 286 protected to real mode switching since the only way to kick the 286 out of protected mode it to reset it. This, of course, requires resetting the entire machine. Using this special code, you can somewhat quickly set the 286 to real mode. Shane(); -------------------------------------------------------------------------- From the keyboard of: email: sdawalt@cs.wright.edu Shane A. Dawalt --------------------------------------------------------------------------