www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/04/14:16:07

Date: Fri, 4 Jul 1997 11:14:42 -0700 (PDT)
Message-Id: <199707041814.LAA22009@adit.ap.net>
Mime-Version: 1.0
To: trill AT netbook DOT demon DOT co DOT uk
From: Nate Eldredge <eldredge AT ap DOT net>
Subject: Re: CWSDPMI halting interrupt 19 (reboot)
Cc: djgpp AT delorie DOT com

>CWSDPMI doesn't like INT 19 in my programs. Every time I use it it tells
>me that INT 19 occured, but doesn't reboot the computer. QDPMI doesn't
>complain and reboots without problem.
>The problem is that I'm developing for someone who has no DPMI host, and
>so must use CWSDPMI. Is there any way of making CWSDPMI allow a reboot?

Ralf Brown's Interrupt List R53 has this to say about INT 19h:

This interrupt reboots the system without clearing memory or restoring
interrupt vectors.  Because interrupt vectors are preserved, this
interrupt usually causes a system hang if any TSRs have hooked
vectors from 00h through 1Ch, particularly INT 08.

So perhaps INT 19 is not the best way to reboot. Other solutions:
The standard way to reboot has always been a real-mode jump to F000h:FFF0h.
For a warm boot, store 1234h at 0040h:0072h first; for a cold boot, store 0000h.

I believe there is some port you can poke which has the same effect as a
cold reboot. If the jump doesn't work, you could try disassembling the BIOS
routine from there and look at what it does.

HTH.

Nate Eldredge
eldredge AT ap DOT net



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019